2017-10-15 66 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

相关问题