我有一个使用jquery.validate.js
我需要的是当用户选择是时 - 需要其他信息(必填字段),如果用户选择否 - 罚款,继续
尝试了很长时间才使这项工作没有成功 - 添加了
非常感谢您的任何帮助!
这是我的PHP代码:
// If form type is radio, display as a radio button with yes/no answers
if ($form_type == 'radio')
{
echo "<input type=\"radio\" name=\"screen_184\" value=\"Yes\" checked /> <label>Yes</label> <input type=\"radio\" name=\"screen_184\" value=\"No\" /> <label>No</label><br /><br />";
// If from type is radio and additional information is required, display a textarea
if ($extra_info == 'Yes')
{
if ($row['required'] == 'Yes') {$class = 'required';} else {$class = 'input_field';}
echo "<textarea class=\"$class\" maxlegth=\"500\" name=\"screentext_184\" /></textarea></li><br /><br />\n";
}
答案 0 :(得分:2)
当你问一个关于jQuery的问题时,你需要展示你的jQuery代码,而不是你的PHP。
但是,在jQuery Valdiate插件中,要根据另一个required
的状态为一个字段设置input
条件,请使用depends
,如下所示...
<强>的jQuery 强>:
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
rules: {
"screentext_184": {
required: {
depends: function(element) {
return $("input[name='screen_184'][value='Yes']").is(":checked");
}
}
}
}
});
});
<强> HTML 强>:
<form id="myform">
Yes: <input type="radio" name="screen_184" value="Yes" />
No: <input type="radio" name="screen_184" value="No" checked="checked" />
<textarea name="screentext_184"></textarea>
<input type="submit" />
</form>
工作演示:http://jsfiddle.net/qjhv6/
对于演示,text
input
字段是可选字段,直到勾选“是”radio
为止。
编辑:根据Ryley的评论,这可以进一步简化:
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
rules: {
"screentext_184": {
required: "input[name='screen_184'][value='Yes']:checked"
}
}
});
});