JQUERY检查listbox选项是否被选中,作为if循环的条件
JQUERY check if listbox option is selected, used as condition in an if loop
我目前有2个复选框类别,一个下拉列表和一个提交按钮的表单。该按钮处于"禁用"状态,直到选中A类中的一个复选框,选中B类中的一个选项,并选中选择列表中的一个选项。它适用于复选框(当我在没有列表的情况下测试时),但列表有一个问题。当我从上到下填写表单(func -> plat -> lang)时,它不起作用。不知何故,当我先选择"lang",然后选中复选框时,它就会起作用。当我在选择语言后选择另一个复选框时,它也可以从上到下工作。这是奇怪的。这里是HTML:
<h3>choose func</h3>
<input type="hidden" name="func1" value="" />
<input type="checkbox" name="func1" value="1" id="func1" /> func1 <br/>
<input type="hidden" name="func2" value="" />
<input type="checkbox" name="func2" value="1" id="func2" /> func2<br/>
<input type="hidden" name="func3" value="" />
<input type="checkbox" name="func3" value="1" id="func3"/> func3<br/>
<br/>
<h3>choose plat</h3>
<input type="hidden" name="plat1" value="" />
<input type="checkbox" name="plat1" value="1" id="plat1" /> plat1<br/>
<input type="hidden" name="plat2" value="" />
<input type="checkbox" name="plat2" value="1" id="plat2" /> plat2<br/>
<input type="hidden" name="plat3" value="" />
<input type="checkbox" name="plat3" value="1" id="plat3" /> plat3<br/>
<input type="hidden" name="plat4" value="" />
<input type="checkbox" name="plat4" value="1" id="plat4" /> plat4<br/>
<br/>
<h3>choose lang</h3>
<select name="sprache">
<option disabled selected> -- select an option -- </option>
<option name="deutsch" id="deutsch">Deutsch</option>
<option name="englisch" id="englisch">Englisch</option>
</select>
<br/><br/>
<script>
</script>
<input type="submit" name="abfrage" class="inputButton" id="idAbfragen" value="Abfragen" disabled="">
jQuery/js:
$(function () {
$("#func1, #func2, #func3, #plat1, #plat2, #plat3, #plat4, #deutsch, #englisch").change(function () {
if (($("#func1").is(':checked') || $("#func2").is(':checked') || $("#func3").is(':checked'))
&&
($("#plat1").is(':checked') || $("#plat2").is(':checked') || $("#plat3").is(':checked') || $("#plat4").is(':checked'))
&&
($("#deutsch").is(':selected') || $("#englisch").is(':selected')))
{
$('.inputButton').attr('disabled', false);
}
else
{
$('.inputButton').attr('disabled', true);
}
});
});
我不知道为什么它不工作。您可以在我设置的文件中重现此问题:https://jsfiddle.net/3zqf4fxv/
我希望有一个解决办法。谢谢和问候!
变化
$("#func1, #func2, #func3, #plat1, #plat2, #plat3, #plat4, #deutsch, #englisch")
$(":input")
<<p> jsFiddle例子/strong> 问题在于在选择器中使用#deutsch, #englisch
。改变的是select元素,而不是选项。:input
只是一个jQuery快捷方式,用于选择示例中已有的内容,但请注意,如果页面上有其他输入元素,这将不是理想的选择。你可以用select[name='sprache']
代替#deutsch, #englisch
。
,
$("#func1, #func2, #func3, #plat1, #plat2, #plat3, #plat4, select[name='sprache']")
<<p> jsFiddle例子/strong> 相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如果 a 为 false,则 if(a) === if(false)
- 如何在ReactJS JSX中执行嵌套的if-else语句
- switch(true)作为else-if的替代
- 当 IF 语句未注释掉时,nodeName 作为“#text”返回
- jQuery - 基于作为函数参数传递的对象构建动态 if 语句
- IF 语句作为 JavaScript 中的赋值表达式
- 使用“&&”作为简写 if 语句
- 如何在JavaScript中的IF语句中使用具有布尔值的变量作为条件
- 在使用javascript的if语句中使用字符串作为布尔值是否存在任何缺陷
- 使用图像src作为条件的if/else语句
- ionic ng-if不能在模板视图中将$index作为作用域的索引
- Jekyll使用JS变量作为IF条件
- 将Handlebars helper作为参数传递给#if
- 如何在if语句中指定一个事件作为条件(jQuery)
- 在JavaScript if语句中使用字符串/文本输入字段作为条件
- 使用元素的样式属性作为if或for循环的条件
- 使用&&作为IF语句的替换
- 可评估字符串作为 if 语句的一部分
- JQUERY检查listbox选项是否被选中,作为if循环的条件