0

我有很多复选框需要在选中/取消选中时执行相同的 javascript 函数。作为参数,我附上了控件的服务器 ID。我希望使用此 ID 获得实际的复选框。问题是我需要找到客户端 ID,但正如预期的那样,我无法myControlsServerID在 asp 代码块中使用我的 javascript 变量来获取此 ID。这是我卡住的地方:

function show(myControlsServerID) {
   var checkbox = document.getElementById('<%= myControlsServerID.ClientID %>')
   //more omitted code
}

如何获得单击的复选框?

4

3 回答 3

1

使用 jQuery 来实现这一点。

在文档加载时初始化 jQuery 以监听页面上的所有复选框。单击其中之一的那一刻,您可以使用它做任何您想做的事情:

$(document).ready(function() {
    $("input:checkbox").click(function(e) {
        alert($(this).attr('id'));
    });
});

在http://jquery.com/download/下载最新的 jQuery 版本

于 2013-07-23T12:00:45.327 回答
1
chk.attributes.add("onclick","show('" + chk.ClientID + "')");


function show(myControlsServerID) {
   var checkbox = document.getElementById(myControlsServerID);  
 }
于 2013-07-23T12:00:51.290 回答
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
}

小提琴演示

于 2013-07-23T12:07:33.897 回答