Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery-禁用按钮并使用动态名称输入_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript jquery-禁用按钮并使用动态名称输入

Javascript jquery-禁用按钮并使用动态名称输入,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个类似于此的表结构,但上面和下面有很多其他嵌套的东西。我需要禁用按钮和链接,或者可能更改按钮可见性,而不是禁用它 按钮ID和锚点名称为动态值10,如下所示,我已尽我所能从表中获取并禁用这些元素,但似乎没有任何效果: <tr> <td class="t-last"> <button id="btnEdit10" class="ui-state-active ui-corner-all button-outer" onclick="ClientValues

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

按钮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>
任何帮助都将不胜感激


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

如果我能很好地理解,像这样的事情

 $('#btnEdit' + dynamic_part).attr("disabled", disable);
 $("[id^=btnEdit]").attr("disabled", disable);
更新:

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

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

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

$('#btnEdit10').attr("disabled", disable);
否则,如果要禁用控制一组按钮,可以执行InTry所述的操作,并在选择器名称旁边设置一个变量

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

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

要禁用以btnEdit开头的所有内容,请使用以下属性以选择器开头:

$('[id^="btnEdit"]').prop("disabled", true);
或两者皆适用:

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

或者可能:

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

使用道具比使用属性更好。但无论如何+1我搞不清楚的是如何得到动态的部分。它通常是一个数字,但我想用后面的任何东西来测试按钮:id=btnedit324939493394x。我怎样才能得到动态的部分?抱歉,我对jQuery非常陌生,非常感谢您的帮助。您从哪里获得该号码?您是否试图禁用所有以btnEdit开头的内容,或者仅以btnEdit10开头的内容,如果是,那么10从何而来?我正在尝试禁用所有以btnEdit开头的内容,或者,对于链接,以lnkDelete开头的内容。然后我想循环并禁用所有链接和按钮。这就是我想的,等待回复发布答案大概15分钟?看起来这些按钮属于jQueryUI,如果是的话,它们可能是动态的,这意味着它们在pageload上不存在。在将这些按钮添加到DOM之后,我下面的回答应该会起作用。您是对的,它们来自jQueryUI。今天我从你身上学到了很多东西——你真是太棒了。。。不知道你救了我多少!adeneo-您是否有更多关于jQueryUI上的链接以及它与DOM的交互和加载的信息?我现在正在做研究b/c它已经引起了其他问题。再次感谢!动态数字是我无法理解的。我如何才能禁用每个以btnEdit开头的按钮或以lnkDelete开头的链接?是的,adeneo是一个该死的救生圈!该按钮工作完美!但由于某些原因,链接没有被禁用。它以前只有'name'属性,所以我添加了一个相同的'id'属性,但它仍然不起作用。onclick事件仍然会触发。您不能真正禁用锚点,因为它没有disabled属性!我很确定你想做什么,但是如果你想禁用点击功能,你必须删除它。我会更新我的答案?哇,我真希望我能亲自感谢你!它工作完美无瑕@帕努文-没问题,很乐意帮忙!