更新值基于:检查状态
问题描述:
<input type="checkbox" name="feature1" value="0" />
如果选中,value =“1”; else value =“0”;更新值基于:检查状态
if ($('input[name=feature1]').is(':checked')) {
$('input[name=feature1]').val('1');
}
我觉得上面的jQuery可以工作,但它的一次性检查,我怎么让那个每次的复选框,单击/选中,值为1,否则为0?
非常感谢
答
$('input[name=feature1]').click(function(){
if ($(this).is(':checked')) {
$(this).val('1');
} else {
$(this).val('0');
}
});
或
$('input[name=feature1]').click(function(){
if (this.checked) {
$(this).val('1');
} else {
$(this).val('0');
}
});
或
更好
$('input[name=feature1]').click(function(){
$(this).val(this.checked ? 1:0);
});
,只是因为我认为还有一个更好的方法..
$('input[name=feature1]').click(function(){
this.value = this.checked ? 1:0;
});
答
我会给输入一个ID,只是为了让它更容易编写你的jQuery - 为了这个答案的目的,我会假装我们重复了这个名字。
jQuery("#feature1").click(function() {
if (this.checked) {
jQuery(this).val(1);
} else {
jQuery(this).val(0);
}
});
+1
虽然有一个问题 - 为什么你需要设置一个值呢?如果您使用的是PHP,那么只有当复选框被选中时才会提交该值,您只需检查isset()以获取值。 – 2010-07-05 13:37:06
是的,但这是一次性检查,而不是切换。没有? – 3zzy 2010-07-05 13:36:29
你抓到我编辑.. – Reigel 2010-07-05 13:38:24
真棒,其作品就像一个魅力。只是想知道它是否会与多个元素$('一,二,三')..? – 3zzy 2010-07-05 13:44:31