使用jquery如果勾选了一个特定的复选框,我想从所需的选择框中进行选择(即不能将其保留为空白默认值)。我的代码:
$(document).ready(function(){
$("#myForm").validate({
rules: {
myDropDown: {
required: {
depends: function(element) {
return $("#myCheckbox:checked")
}
}
}
}
})
})
html:
<input type="checkbox" name="myCheckbox" id="myCheckbox" value="1">
<select name="myDropDown" id="myDropDown">
<option value="" selected></option>
<option value="1">Choice 1</option>
<option value="2">Choice 2</option>
<option value="3">Choice 3</option>
</select>
不仅代码不能正常运行,而且还有jquery选项卡作为javascript的下一部分。
任何建议表示赞赏。
编辑:现在我已经整理了所有括号,现在的行为是它使选择框成为必填字段,无论复选框是否被选中 - 即依赖部分不起作用。页面上的其他javascript现在正常运行。
答案 0 :(得分:36)
它应该能够像这样工作:
rules : {
myDropDown:{required:"#myCheckbox:checked"}
}
答案 1 :(得分:28)
请尝试这样
$(document).ready(function(){
$("#myForm").validate({
rules: {
myDropDown:{
required: function (element) {
if($("#myCheckbox").is(':checked')){
var e = document.getElementById("myDropDown");
return e.options[e.selectedIndex].value=="" ;
}
else
{
return false;
}
}
}
}
});
});
答案 2 :(得分:8)
这就像一个魅力
inputname:
{
required: function(){
if($("select[name=inputname]").val() == 1){
return true;
}
else
{
return false;
}
}
}
您可以编辑您喜欢的输入名称。
要将其更改为输入字段,您可以将选择部分更改为输入
答案 3 :(得分:0)
我不知道您使用的插件是什么,但是
return $("#myCheckbox:checked")
如果选中了复选框,将返回Jquery对象。我认为这样做会更正确:
return $("#myCheckbox").is(':checked')
返回true或false。
也许这与您的问题无关