您好我在每个循环使用两个复选框并使用javascript我想要更改复选框的值。 使用javascript将复选框值设置为false。但是在单击它之后将其设置为true但检查符号是否会在复选框上显示点。 这是javascript代码:
$(".sp-modal-content a.btn-icon").each(function(){
console.log($(this));
$(this).click(function(){
($(this).attr('id'));
console.log($(this).find('input[type="checkbox"]').val());
if($(this).find('input[type="checkbox"]').is(":checked"))
{
alert("true");
$(this).find('input[type="checkbox"]').attr('checked',false);
}
else {
alert("false");
alert($(this).find('input[type="checkbox"]').val());
$(this).find('input[type="checkbox"]').attr("checked" ,"checked");
}
})
})
答案 0 :(得分:0)
使用prop代替attr可能会解决问题
$(".sp-modal-content a.btn-icon").each(function(){
console.log($(this));
$(this).click(function(){
($(this).attr('id'));
console.log($(this).find('input[type="checkbox"]').val());
if($(this).find('input[type="checkbox"]').is(":checked"))
{
alert("true");
$(this).find('input[type="checkbox"]').prop('checked',false);
}
else {
alert("false");
alert($(this).find('input[type="checkbox"]').val());
$(this).find('input[type="checkbox"]').prop("checked" ,true);
}
})
})
而且我猜你也试图在点击时切换复选框 这可能是更短的方式。我没有测试过它。
$(".sp-modal-content a.btn-icon").each(function(){
$(this).click(function(){
element = $(this).find('input[type="checkbox"]')
previousValue = element.attr('checked')
element.prop('checked', !previousValue)
})
})