2016-07-06 136 views
0

屬性我有這樣取消選中複選框以JavaScript

<ul id="anotherdata" class="live-search-list" style="display: block;"> 
<li class="list_items" data-search-term="systimehour "><div class="row"><div class="col-xs-2 col-md-1"></div><div class="col-xs-10 col-md-11"><div class="item"><div class="item-title">SysTimeHour<span class="pull-right"><input type="checkbox" value="SysTimeHour" name="checkbox"></span></div> </div></div></div></li> 
<li class="list_items" data-search-term="systimemin "><div class="row"><div class="col-xs-2 col-md-1"></div><div class="col-xs-10 col-md-11"><div class="item"><div class="item-title">SysTimeMin<span class="pull-right"><input type="checkbox" value="SysTimeMin" name="checkbox"></span></div> </div></div></div></li> 

上另一方面我有一個函數調用,其中i需要取消選中 選擇複選框

function tagremove(i) 
     { 
      $('.live-search-list li').each(function(){ 

       var datavalue= $(this).data("search-term"); 
      // alert(datavalue); 
       if(datavalue==i) 
       { $(this).attr("checked", false); } }); 
     } 
在立一個複選框

但這不起作用。

+0

的[設置「檢查」與jQuery的複選框可能的複製?](http://stackoverflow.com/questions/426258/setting-checked-for-a-checkbox-with-jquery) –

回答

0

在目前情況下thisli元素,你就必須找到input元素,並設置其屬性checked而不是設置該屬性的li元素。

下面是一個例子:

$(this).find("input[type='checkbox']").removeAttr("checked"); 
+0

檢查屬性不存在,複選框只是檢查沒有任何屬性。所以在這種情況下,如何取消選擇 –

+0

@SumitAggarwal嘗試'.... removeAttr('checked')' – Titus

+0

仍然不能工作:( –

0

你可以寫你這樣的代碼(與你的HTML樣本測試):

function tagremove(i) 
{ 
    // You can search through document by attribute name with 
    // any value. So, you can pass you `i` value directrly inside selector 
    $('.live-search-list [data-search-term="' + i + '"]').each(function() { 
    // You can select child elements inside of this element and check it 
    $(this).find('input').attr('checked', true); 

    // If checkbox is checked and you want to uncheck 
    $(this).find('input').attr('checked', false); 
    }); 
}