是否可以调用属性的方法?
我的意思是,我有这个输入(这是使用jQuery动态创建的,当使用.get()检索公司列表时):
<input type="checkbox" onclick="javascript:onWorksiteChecked(this,'Virtus Västerås AB, STOCKHOLM','1:201334661','5566109426');" value="1:201334661"/>
我有一个Select All方法,顾名思义就是Select All this,它的执行方式为
$("#ulworksites li input:checkbox").each(function() {
if ($(this).attr('disabled') == false) {
$(this).attr('checked', $("#ckbSelectAll").attr('checked'));
// Fire onWorksiteChecked method here
// > as suggested by August Lilleaas in his answer
$(this).click(); // <-- when this executes I still have the input box to be unchecked, the line above is not perform
}
});
在onclick属性中我得到了我需要为每个输入运行的javascript(将其添加到列表中并添加要导入的公司,但我该如何运行它?
$(this).attr('checked');
我该如何执行该功能?
作为附加组件,此图像显示列表
问题
点击事件会触发,但是当它触发时我仍然没有选中该输入框(将不会执行正确的代码)
答案 0 :(得分:1)
您不能/不应该直接调用该代码。但是,您可以触发click事件,这将导致调用内联onclick
代码。
$("#the_thing").click();
可能已经设法通过将代码转换为字符串并进行了一次“直接”来执行代码,但是使用click事件间接调用它是非常好的。
答案 1 :(得分:0)
直接回答你的问题:
从onclick中删除javascript:
:它仅用于hrefs上的协议定义。
间接回答你的问题:
如果没有在HTML的属性中粘贴Javascript,该页面中没有任何内容无法执行。尝试:
$(this).text()
; $(this).val()
;等$(this).attr('checked', 'checked');
答案 2 :(得分:0)
我发现了......
我不需要在触发click事件之前选中所有复选框,因为jQuery方法 click()将逐字地单击复选框,如果未选中它将检查,反之亦然
SelectAll
方法只需要:
$("#ulworksites li input:checkbox").each(function() {
if ($(this).attr('disabled') == false) {
$(this).click();
}
});
这适用于检查和取消选中。