禁用按钮和输入动态名称

Disable Button and Input with dynamic names

本文关键字:动态 输入 按钮      更新时间:2023-09-26

我有一个类似的表结构,但是上面和下面有很多其他嵌套的东西。我需要禁用按钮和链接(或者可能改变按钮可见性,而不是禁用它?)。

按钮ID和锚名是动态的(值10,下面),我已经尝试了所有我能想到的从表中抓取这些元素并禁用,但似乎没有任何工作:

<tr>
<td class="t-last">
<button id="btnEdit10" class="ui-state-active ui-corner-all button-outer"    
onclick="ClientValues(10);">Edit</button>
<a name="lnkDelete10" class="cursor_hand" onclick="DeleteIt(10,200);">
<u>Delete</u>
</a>
</td>
<tr>
<td class="t-last">
<button id="btnEdit17" class="ui-state-active ui-corner-all button-outer"    
onclick="ClientValues(17);">Edit</button>
<a name="lnkDelete17" class="cursor_hand" onclick="DeleteIt(17,200);">
<u>Delete</u>
</a>
</td>

我猜正则表达式将是我最好的选择,但我仍然没有得到它的工作。这就是我试图使用禁用按钮,但我无法访问它:

$('btnEdit10').attr("disabled", true); //after looping to the control

任何帮助都将非常感激!

编辑:我的问题不是很清楚。我试图禁用以"btnEdit"开始的每个按钮和以"lnkDelete"开始的每个链接。

如果我没理解错的话,像这样的东西

 $('#btnEdit' + dynamic_part).attr("disabled", disable);
更新:

您可以像这样选择所有以btnEdit开头的id

 $("[id^=btnEdit]").attr("disabled", disable);

禁用所有以"btnEdit"开头的属性,使用"attributes starts with" selector:

$('[id^="btnEdit"]').prop("disabled", true);

或同时使用:

$('[id^="btnEdit"], [id^="lnkDelete"]').prop("disabled", true);
编辑:

或者:

$('[id^="btnEdit"]').prop("disabled", true);
$('[id^="lnkDelete"]').attr("onclick", "");

如果你只是想禁用一个特定的按钮,那么你可以这样做…

$('#btnEdit10').attr("disabled", disable);

否则,如果你想控制一组按钮禁用,你可以像InTry提到的那样,在选择器名称旁边设置一个变量…

$('#btnEdit' + my_number).attr("disabled", disable);

并通过一些简单的编码将适当的数字值存储到该变量(my_number)中。