asp块代码中的Javascript变量

时间:2013-07-23 11:55:51

标签: javascript asp.net getelementbyid

我有很多复选框,需要在选中/取消选中时执行相同的javascript功能。作为参数,我将控件的服务器ID括起来。我希望使用此ID获取实际的复选框。问题是我需要找到客户端ID,但正如预期的那样,我不能在asp代码块中使用我的javascript变量myControlsServerID来获取此ID。这就是我陷入困境的地方:

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

如何获得点击的复选框?

3 个答案:

答案 0 :(得分:1)

使用jQuery来实现这一目标。

在文档加载时初始化jQuery以收听页面上的所有复选框。当你点击其中一个时,你可以随心所欲地做任何事情:

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

http://jquery.com/download/

上下载最新的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
}

Fiddle Demo