如何禁用输入,textarea,选择使用此代码

时间:2010-06-05 22:38:08

标签: jquery

朋友们,我在视图中使用此代码..

使用此代码我在视图加载时禁用字段..像这样我的视图显示我将使用下面的代码选择的用户数我能够仅禁用第一个Fiedset而不是其他字段集吗? / p>

为什么会发生这种情况?我需要禁用我选择的用户数量....

感谢..

3 个答案:

答案 0 :(得分:5)

如果要为所有字段集禁用这些输入元素:

$("fieldset").find("input, select, textarea").attr('disabled', 'disabled');

您正在使用的选择器(#Fieldset1)似乎没有引用标记的任何部分。这意味着“选择我的id为Fieldset1的元素”。由于该元素不存在,因此没有任何反应。您应该阅读jQuery selectors的正确语法和用法。

此外,您可以使用:input selector替换所有类型的表单输入元素:

$("fieldset :input").attr('disabled', 'disabled');

答案 1 :(得分:1)

这一行:

$("#PricingEditExceptions")
     .find("input, select,textarea")
     .attr('disabled', 'disabled');

位于html的上方。它将在你想要禁用的html在dom之前执行。此外,如果这个控件可以在页面上多次出现,那么拥有多个具有相同ID的html元素在技术上是无效的。

我首先,移动你的行来禁用你的$(document).ready功能块中的代码。然后考虑使用类名而不是“PricingEditExceptions”的id。

希望这有帮助。

答案 2 :(得分:1)

不确定我100%理解您的问题,但我认为您的问题出在您的jQuery代码的选择器部分: $("#Fieldset1")仅对ID为Fieldset1的DOM元素应用您的操作,如果要禁用所有字段集$("Fieldset")将改为选择所有字段集。

我猜你想要根据某些数据禁用一组字段集 - 鉴于我不知道你做这个决定的数据我会建议你去看看你是否能找到共同点对于您要选择的所有DOM元素:http://api.jquery.com/category/selectors/