为什么我的更改复选框无法在js文件上工作,但在控制台上工作?
问题描述:
我试图在更改时获取选中的复选框文本。为什么我的更改复选框无法在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?
答
你需要在页面加载后执行JS代码。有很多种方法:
- 把脚本标记在身体的末尾:
- 包装你的脚本与函数在页面加载之后调用。这可以通过在主体上添加onload属性来完成(详见w3),或者在仅调用该函数的主体末尾添加脚本标记。
- 您可以使用jQuery的
ready
或on load
(更在jQuery doc)
+0
如果条件'if($(this.checked).is(':checked')){}'这样吗? –
+0
'$(this).is(“:checked”)' – MaanooAk
可能是你之前的jQuery里面功能齐全检查控制台页面加载完成 –
包装代码的任何错误称之为 –
@FastSnail我运行它已经在里面就绪功能。我的其他jquery函数正在运行,除了这一个 –