JQuery将值设置为自定义服务器控件

时间:2012-09-14 04:49:18

标签: c# javascript jquery asp.net jquery-ui

我们有一个自定义服务器控件,其中定义了几个属性。

<cc1:DropdownCheck ID="ddcStatus"  runat="server" CssClass="ddlchklst" JQueryURL="~/Scripts/jquery.js"
                    Title="Select Status(es)" OpenOnStart="false" divHeight="17px" 
                ImageURL="Images/DropDown.PNG" >
            </cc1:DropdownCheck>

如何在服务器控件的click事件上设置Title属性的值。我目前的jquery fn看起来像这样......

$("#ddcStatus").click(function () {
            //$('#ddcStatus').attr("Title",'Items Selected');
            //document.getElementById("ddcStatus").Title = 'Items Selected';
        });

这两个陈述都没有用。 getElementById语句给出了一个脚本错误,说明对象为null。

2 个答案:

答案 0 :(得分:3)

问题在你的选择器中 “#ddcStatus”用于选择id为ddcStatus的元素,但在clint端不一样。 你会看到它像“abc_xzy_ddcStatus”

在客户端加载页面时,

ID会发生变化。所以你有两个选择来解决它

  1. 在浏览器中通过选择视图源或通过inspect元素查找源代码 源代码中的新ID,并在jQuery中使用该ID (我不建议这样做)

  2. 使用名为动态选择器的服务器ID,并通过self

  3. 转换为客户端ID

    $( 'DropdownCheck [ID $ = “ddcStatus”]')

    您可以将其读作“在DropdownCheck中选择,其id以ddStatus结尾”

    您的解决方案将不同,将DropdownCheck替换为客户端使用的实际控件 一些帮助,以jquery的风格开始和结束

    http://api.jquery.com/attribute-ends-with-selector/ http://api.jquery.com/attribute-starts-with-selector/#attributevalue

答案 1 :(得分:0)

尝试做类似的事情:

$(function(){
    $("#ddcStatus").click(function () {
        //$('#ddcStatus').attr("Title",'Items Selected');
        //document.getElementById("ddcStatus").Title = 'Items Selected';
    });
})