0
如果复选框被单击,则复选框的值必须为1.如果没有单击复选框,则其值必须为0.由于某种原因,以下代码似乎无法正常工作。jquery复选框选中更改值
// Checkbox values 1/0.
$("#prefForm").submit(function() {
$("input[type=checkbox]").each(function() {
var self = $(this);
if (self.is(":checked")) {
self.val('1');
} else {
self.val('0');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="select-activity">
<ul>
<li>
<!-- <input type="hidden" name="donate_buskie" value=""> -->
<input type='checkbox' id='checkbox-1' class='pseudo-checkbox sr-only' name="donate_buskie" value="0" />
<label for='checkbox-1' class='glyphicon-check-click fancy-checkbox-label'><span><?php echo JText::_('When someone donates to my Buskie'); ?></span>
</label>
</li>
<li>
<!-- <input type="hidden" name="receives_donation" value=""> -->
<input type='checkbox' id='checkbox-2' class='pseudo-checkbox sr-only' name="receives_donation" value="0" />
<label for='checkbox-2' class='glyphicon-check-click fancy-checkbox-label'><span><?php echo JText::_('When someone receives a donation'); ?></span>
</label>
</li>
<li>
<input type='checkbox' id='checkbox-3' class='pseudo-checkbox sr-only' name="comment_buskie" value="0" />
<label for='checkbox-3' class='glyphicon-check-click fancy-checkbox-label'><span><?php echo JText::_('When someone posts a comment on your Buskie'); ?></span>
</label>
</li>
<li>
<input type='checkbox' id='checkbox-4' class='pseudo-checkbox sr-only' name="comment_reply" value="0" />
<label for='checkbox-4' class='glyphicon-check-click fancy-checkbox-label'><span><?php echo JText::_('When someone replies to my comment'); ?></span>
</label>
</li>
</ul>
您的代码段工作正常! –
这段代码有什么意义?它违背了使用复选框的标准模式,因为如果该框未被选中,则请求中不会发送任何值。因此,取消选中时值为'0'是没有意义的。如果你想知道哪些复选框没有被选中,使用'map()'创建每个复选框的checked状态的布尔数组会更有意义 –