Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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
使用jquery向隐藏元素的输入子元素添加属性?_Jquery_Html_Webforms - Fatal编程技术网

使用jquery向隐藏元素的输入子元素添加属性?

使用jquery向隐藏元素的输入子元素添加属性?,jquery,html,webforms,Jquery,Html,Webforms,我试图用JQuery完成一些事情,但似乎无法让它工作。这很大程度上与我不是一个JQuery的人有关,所以我确信这一切都是错的 我有一个非常大的表单,根据选择的单选按钮值,在某些表单部分不显示的地方有一些条件。所以我所做的是,当选择某个值时,它将向div元素添加或删除一个“hide me”类,这样里面的所有表单字段都不会显示。问题是,如果我有一些要求,表单将不会提交,并且您无法填写不可见的字段。因此,我想做的是,当表单提交时,它应该首先使用hide me类获取任何div中的所有子输入元素,并将属性

我试图用JQuery完成一些事情,但似乎无法让它工作。这很大程度上与我不是一个JQuery的人有关,所以我确信这一切都是错的

我有一个非常大的表单,根据选择的单选按钮值,在某些表单部分不显示的地方有一些条件。所以我所做的是,当选择某个值时,它将向div元素添加或删除一个“hide me”类,这样里面的所有表单字段都不会显示。问题是,如果我有一些要求,表单将不会提交,并且您无法填写不可见的字段。因此,我想做的是,当表单提交时,它应该首先使用hide me类获取任何div中的所有子输入元素,并将属性设置为disabled

我怎样才能做到这一点

下面是一些示例代码:

试试这个:

$('.hide-me').children("input").attr("disabled", true);
但是,既然你在Submit上做了这个
,我不明白你想这么做。页面仍将重新加载

使用«修改»代码。

尝试以下操作:

$('.hide-me').children("input").attr("disabled", true);
但是,既然你在Submit上做了这个
,我不明白你想这么做。页面仍将重新加载


使用«modified»代码。

将其放在submit()之外,您的示例不起作用,因此我在您的代码笔上添加了jquery

$('.hide-me').children(":input").prop("disabled", true);
$('#test_form_id').submit(function() {

});

它总是会触发填充隐藏的表单,因为禁用隐藏输入的jquery代码在您的submit()中,HTML5验证会阻止您触发提交,这就是为什么禁用隐藏输入的代码不会执行。

只需将其放在submit()之外,您的示例不起作用,所以我在您的代码笔上添加了jquery

$('.hide-me').children(":input").prop("disabled", true);
$('#test_form_id').submit(function() {

});

它总是会触发填充隐藏的表单,因为禁用隐藏输入的jquery代码在您的submit()中,HTML5验证会阻止您触发提交,这就是为什么禁用隐藏输入的代码不会执行的原因。

,不是吗?在jquery中没有太多经验,但因为您有多个输入元素,对吗?我想您缺少了
.each()
@Vijay。提供的代码OP在没有任何附加的情况下已经可以工作了。@nicael,它对我不起作用。这个示例代码笔不适合我,也不适合我的实际项目。当你说它可以工作时,你是在尝试它,还是仅仅根据你看到的代码,怀疑它应该工作?只是好奇。你没有在代码笔中添加jquery插件,不是吗?在jquery方面没有太多经验,但因为你有不止一个输入元素,对吗?我想您缺少了
.each()
@Vijay。提供的代码OP在没有任何附加的情况下已经可以工作了。@nicael,它对我不起作用。这个示例代码笔不适合我,也不适合我的实际项目。当你说它可以工作时,你是在尝试它,还是仅仅根据你看到的代码,怀疑它应该工作?只是好奇。你没有在codepenI中添加jquery插件。我只是更新了Fiddle以使你的启用链接工作。我只是更新了Fiddle以使你的启用链接工作。谢谢。我想让我有点困惑的是表单如何知道运行jquery的第一行?这是我把它放在submit函数中的唯一原因。它不知道。如果在函数外部,这第一行将在加载时执行。我不能真正解释它,我现在也不想解释codepen如何读取第一行,但通常我会添加$document.ready以确保它在页面准备就绪时运行脚本。如果你认为我对你的问题的回答可以接受,请接受我的回答,谢谢。谢谢我想让我有点困惑的是表单如何知道运行jquery的第一行?这是我把它放在submit函数中的唯一原因。它不知道。如果在函数外部,这第一行将在加载时执行。我不能真正解释它,我现在也不想解释codepen如何读取第一行,但通常我会添加$document.ready以确保它在页面准备就绪时运行脚本。如果你认为我对你的问题的回答可以接受,请接受我的回答,谢谢。