将控件ID更改为变量

时间:2012-07-11 04:43:10

标签: javascript jquery asp.net .net syntax

我需要更改以下代码:

 $("#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_btnAdd").attr("disabled", true);

对此:

var ControlID = "#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_btnAdd"

$(ControlID).attr("disabled", true);

但是上面的那个没有用......错误是什么?

2 个答案:

答案 0 :(得分:1)

尝试

$('<%:Control.ControlID%>').attr("disabled", true);

答案 1 :(得分:0)

我怀疑它在两种情况下都不起作用。使用.prop()代替.attr()来禁用该元素。

var ControlID = "#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_btnAdd"
$(ControlID).prop("disabled", true);

属性通常会影响DOM元素的动态状态,而不会更改序列化的HTML属性。示例包括输入元素的value属性,输入和按钮的disabled属性或复选框的checked属性。应使用.prop()方法设置已禁用和已检查,而不是.attr()方法。 .val()方法应该用于获取和设置值。

来源:http://api.jquery.com/prop/