我的需求表格是动态生成的。有多个字段
<tr>
<td >Coding Guidelines</td>
<td align="center">
<select name="SELECT_TASK_1" id="SELECT_TASK_1">
<option value="">Select</option>
<option value="Y">Yes</option>
<option value="N">No</option>
</select>
</td>
<td align="center"><input type="text" size="10" name="COMP_DATE_1"></td>
<td align="left"> <textarea name="COMMENT_TASK_1" id="COMMENT_TASK_1"
cols="45" rows="4"></textarea><span id="COMMENT_ERROR_1" > </span>
</td>
</tr>
在DB行上有TR生成的数量。我想在select no value和Comment字段的组合上应用jquery验证。
这意味着如果select为No,则comment是必填字段。
请使用Jquery验证插件帮助如何应用验证
答案 0 :(得分:0)
也许您可以将处理程序附加到提交表单按钮:
$(#form-id).submit(function(){
var valid = true;
if($('#SELECT_TASK_1').val() == "N" && $('#COMMENT_TASK_1').val() == '')
valid = false;
return valid
});
选择所有选择:
var selects = $('#form-id').find('select');
for(var i = 0; i < selects.length; i++){
if(selects[i].val() == 'N'){
if(area is empty)
valid = false;
}
}
答案 1 :(得分:0)
这是一个解决方案(虽然不是很优化):
<table>
<tr>
<td>
<select>
<option value="0">select</option>
<option value="1">yes</option>
<option value="2">no</option>
</select>
</td>
<td>
<textarea cols="10" rows="3"></textarea>
<span id="COMMENT_ERROR_1"></span>
</td>
</tr>
<tr>
<td>
<select>
<option value="0">select</option>
<option value="1">yes</option>
<option value="2">no</option>
</select>
</td>
<td>
<textarea cols="10" rows="3"></textarea>
<span id="COMMENT_ERROR_1"></span>
</td>
</tr>
</table>
<input type="button" id="validate" value="validate"/>
<script type="text/javascript">
$(function(){
$("#validate").click(function(){
$.each($("select"),function(){
var n=$("option:selected",this).text();
if(n=="no")
{
var $txt=$("textarea",$(this).closest("tr"));
if($txt.text()=="")
{
var $sp=$txt.parent().find("span");
$sp.text("Enter comment");
}
else
{
var $sp=$txt.parent().find("span");
$sp.text("Enter comment");
}
}
});
});
});
</script>