使用链接

时间:2016-09-22 04:24:39

标签: javascript checkbox

您好我在每个循环使用两个复选框并使用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");

    }

  })
})

1 个答案:

答案 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) 
  })
})