无法从jquery访问asp.net服务器端控件

时间:2012-02-21 18:43:17

标签: jquery asp.net

无法从jquery

访问asp.net服务器端控件

标签

<label id="lblClanName" runat="server">Something here</label>

Jquery的

  $('#test').click(function () {
        var yle = ('#"<%= lblClanName.ClientID %>"').val;
        alert(yle);
    });

按钮:

<input type="button" id="test" value="TesTme" />

警告返回undefined

5 个答案:

答案 0 :(得分:3)

 var yle = ('#"<%= lblClanName.ClientID %>"').val;

应该是:

 var yle = $('#<%= lblClanName.ClientID %>').val();

答案 1 :(得分:1)

您不应该使用双引号,而且您的代码中的$方法调用中缺少()val。试试这个。

$('#test').click(function () {
    var yle = $('#<%= lblClanName.ClientID %>').val();
    //Note here
              ^                                     ^
              |                                     |
             $ was missing                      () as missing
    alert(yle);
});

<强>更新

由于您正在尝试获取标签元素的文本,因此请使用text()方法而不是val()。试试这个。

var yle = $('#<%= lblClanName.ClientID %>').text();

答案 2 :(得分:0)

您的val函数调用需要括号:

//notice the `$` to make this a valid jQuery selection, 
//also the double quotes have been removed from the selector,
//and the parenthesis were added to the `val()` call
var yle = $('#<%= lblClanName.ClientID %>').val();

您正在引用val函数但未运行它。

如果您尝试仅在不运行函数的情况下传递对函数的引用,则可以引用函数,例如:

setTimeout(myFunc, 5000);

五秒钟后会调用名为myFunc的函数。

答案 3 :(得分:0)

只需将()添加到val功能,然后移除"

  $('#test').click(function () {
        var yle = $("#<%= lblClanName.ClientID %>").val();
        alert(yle);
    });

答案 4 :(得分:0)

你的行......

var yle = ('#"<%= lblClanName.ClientID %>"').val;

应该是..

var yle = $('#"<%= lblClanName.ClientID %>"').val();

您的行中遗漏了两件事...... jQuery selector函数是'$'.val应该是.val()

希望这有帮助!