2017-10-15 38 views
1

我試圖在更改時獲取選中的複選框文本。爲什麼我的更改複選框無法在js文件上工作,但在控制檯上工作?

這裏是我的aspx代碼

<ul class="multiselect-container dropdown-menu"> 
    <li class=""> 
     <a tabindex="0"> 
      <label class="checkbox"> 
       <input type="checkbox" value="1001"> 1001</label> 
     </a> 
    </li> 
    <li class=""> 
     <a tabindex="0"> 
      <label class="checkbox"> 
       <input type="checkbox" value="1111"> 1111</label> 
     </a> 
    </li> 
    <li class=""> 
     <a tabindex="0"> 
      <label class="checkbox"> 
       <input type="checkbox" value="2222"> 2222</label> 
     </a> 
    </li> 
    <li class=""> 
     <a tabindex="0"> 
      <label class="checkbox"> 
       <input type="checkbox" value="3333"> 3333</label> 
     </a> 
    </li> 
</ul> 

這裏是我的jQuery代碼是什麼試過

$('.multiselect-container :checkbox').change(function() { 
    $('.multiselect-container input:checkbox').each(function() { 
     var sThisVal = (this.checked ? $(this).val() : ""); 
     alert(sThisVal); 
    }); 
    alert('working'); 
}); 

注意

當我js文件運行,它不顯示警報。但是當我試着在控制檯上。這是工作......

Can you tell me answer with reason why it is not working with js file? 
+0

可能是你之前的jQuery裏面功能齊全檢查控制檯頁面加載完成 –

+0

包裝代碼的任何錯誤稱之爲 –

+0

@FastSnail我運行它已經在裏面就緒功能。我的其他jquery函數正在運行,除了這一個 –

回答

1

你需要在頁面加載後執行JS代碼。有很多種方法:

  1. 把腳本標記在身體的末尾:
  2. 包裝你的腳本與函數在頁面加載之後調用。這可以通過在主體上添加onload屬性來完成(詳見w3),或者在僅調用該函數的主體末尾添加腳本標記。
  3. 您可以使用jQuery的readyon load(更在jQuery doc
+0

如果條件'if($(this.checked).is(':checked')){}'這樣嗎? –

+0

'$(this).is(「:checked」)' – MaanooAk

相關問題