我有一个简单的表单,其中有一个默认被选中的复选框。同时我还有一个文本输入框。如果我在输入框中输入文本,我希望复选框被取消选中。
但是,如果我随后删除了文本输入框中的文本,我希望复选框会再次被选中。
<input type='checkbox' name='t1' checked>
<input type="text" name="t2">
有什么办法可以使用JQUERY来实现这个?
我有一个简单的表单,其中有一个默认被选中的复选框。同时我还有一个文本输入框。如果我在输入框中输入文本,我希望复选框被取消选中。
但是,如果我随后删除了文本输入框中的文本,我希望复选框会再次被选中。
<input type='checkbox' name='t1' checked>
<input type="text" name="t2">
$('input[name="t2"]').keyup(function () {
$('input[name="t1"]').prop("checked", $.trim($(this).val()).length == 0);
});
prop()
方法。$('input[name="t2"]').keyup(function(){
var input=$('input[name="t1"]');
if($(this).val().trim()==="")
input.prop("checked",true);
else
input.prop("checked",false);
});
尝试:
$(document).ready(function () {
$('#points').keyup(function () {
console.log($(this).val())
if($(this).val()==""){
$('#myCheckbox').attr('checked', false); // Checks it
}else{
$('#myCheckbox').attr('checked', true); // Unchecks it
}
});
});
您可以使用 oninput
来检测文本框字段值的更改:
$('input[name=t2]').on('input propertychange',function() {
if ($.trim($(this).val()).length > 0) {
$('input[name=t1]').prop('checked',false);
} else {
$('input[name=t1]').prop('checked',true);
}
});
propertychange
以保证与旧版IE兼容,因为它们不支持oninput
。