我有一个带有多个复选框的表单。选中后,提交时该值为“是”。我正在尝试找到提交表单时为所有未选中的复选框分配值“ no”的最佳方法。
我似乎无法使它正常工作。这是我所拥有的:
$('#foo :checkbox').submit(function() {
var $this = $(this);
// $this will contain a reference to the checkbox
if ($this.is('not(:checked)')) {
// the checkbox was not checked
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", $(this).attr("name"));
input.setAttribute("value", "no");
//append to form element that you want .
document.getElementById("#foo").appendChild(input);
} else {
}
});
为什么这不起作用?
最佳答案
接下来是其他答案...
该事件在窗体上触发,因此:
$('form').submit(function() {
var $this = $(this);
// Set checked inputs to value yes
$this.find('input:checkbox:checked').attr('value', 'yes');
// Set unchecked inputs to value no
$this.find('input:checkbox:not(:checked)').attr('value', 'no');
});
将在触发提交时触发。
假设HTML类似于:
<form>
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="submit" />
</form>
关于javascript - 使用脚本创建隐藏的输入字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39276200/