我们有一个自定义服务器控件,其中定义了几个属性。
<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。
答案 0 :(得分:3)
问题在你的选择器中 “#ddcStatus”用于选择id为ddcStatus的元素,但在clint端不一样。 你会看到它像“abc_xzy_ddcStatus”
在客户端加载页面时,ID会发生变化。所以你有两个选择来解决它
在浏览器中通过选择视图源或通过inspect元素查找源代码 源代码中的新ID,并在jQuery中使用该ID (我不建议这样做)
使用名为动态选择器的服务器ID,并通过self
$( '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';
});
})