我有很多复选框,需要在选中/取消选中时执行相同的javascript功能。作为参数,我将控件的服务器ID括起来。我希望使用此ID获取实际的复选框。问题是我需要找到客户端ID,但正如预期的那样,我不能在asp代码块中使用我的javascript变量myControlsServerID
来获取此ID。这就是我陷入困境的地方:
function show(myControlsServerID) {
var checkbox = document.getElementById('<%= myControlsServerID.ClientID %>')
//more omitted code
}
如何获得点击的复选框?
答案 0 :(得分:1)
使用jQuery来实现这一目标。
在文档加载时初始化jQuery以收听页面上的所有复选框。当你点击其中一个时,你可以随心所欲地做任何事情:
$(document).ready(function() {
$("input:checkbox").click(function(e) {
alert($(this).attr('id'));
});
});
上下载最新的jQuery版本
答案 1 :(得分:1)
chk.attributes.add("onclick","show('" + chk.ClientID + "')");
function show(myControlsServerID) {
var checkbox = document.getElementById(myControlsServerID);
}
答案 2 :(得分:1)
您可以这样做:使用onchange="show(this);"
无需执行这些<%= myControlsServerID.ClientID %>
内容,只需在show()
上调用<asp:checkbox onchange='show(this);'>
,它就会自动为您提供点击/选中的元素,或者我们可以说复选框。
<input type="checkbox" value="chk1" id="chk001" onchange="show(this);"/>
<input type="checkbox" value="chk2" id="chk002" onchange="show(this);"/>
<input type="checkbox" value="chk3" id="chk003" onchange="show(this);"/>
<input type="checkbox" value="chk4" id="chk004" onchange="show(this);"/>
<强>的Javascript 强>
function show(element) {
var checkbox = element.id;
alert("You have clicked " + checkbox);
//more omitted code
}