如果用户选中任何复选框,我想验证TextBox
为必填字段。
如何验证上述要求。是否有人可以提供帮助?
以下是View代码段。
<div>
<div id="">
<input type="checkbox" id="partsChk" name="partsChk"/><label
class="enrollment_side">
Parts (including IRFs)
</label>
</div>
<div id="">
@Html.TextBox("PartsTitle","", new { @class = "enrollment_tbox", placeholder
= "Parts Contact Title (i.e. Parts Manager)" })
<br />
@Html.TextBox("PartsFirstName", "", new { placeholder = "First Name" })
@Html.TextBox("PartsLastName","", new { placeholder = "Last Name" })
@Html.TextBox("PartsEmpId","", new { placeholder = "BMW Employee ID" })
<br />
</div>
</div>
<div>
<div id="">
<input type="checkbox" id="salesChk" name="salesChk" /><label
class="enrollment_sidehdr">Sales – Coming in Q3 2014
</label>
</div>
<div id="">
@Html.TextBox("SalesTitle","", new { @class = "enrollment_tbox", placeholder =
"Sales Contact Title (i.e. Sales Manager)" })
<br />
@Html.TextBox("SalesFirstName", "", new { placeholder = "First Name" })
@Html.TextBox("SalesLastName","", new { placeholder = "Last Name" })
@Html.TextBox("SalesEmpId","", new { placeholder = "BMW Employee ID" })
</div>
</div>
<div>
<div id="">
<input type="checkbox" id="serviceChk" name="serviceChk" /><label
class="enrollment_sidehdr">Service – Coming in Q3 2014
</label>
</div>
<div id="">
@Html.TextBox("ServiceTitle","", new { @class = "enrollment_tbox",
placeholder = "Service Contact Title (i.e. Service Manager)" })
<br />
@Html.TextBox("ServiceFirstName", "", new { placeholder = "First Name" })
@Html.TextBox("ServiceLastName","", new { placeholder = "Last Name" })
@Html.TextBox("ServiceEmpId","", new { placeholder = "BMW Employee ID" })
<br />
</div>
</div>
答案 0 :(得分:2)
请参阅此示例代码。我编写了HTML和jQuery代码,将它集成到您的应用程序中
<强> HTML 强>
Group 1
<input type="checkbox" id="1" class="cb"/>
<input type="text" class="txt1">
<input type="text" class="txt1">
<br/>
<br/>
Group 2
<input type="checkbox" id="2" class="cb"/>
<input type="text" class="txt2">
<input type="text" class="txt2">
<br/>
<br/>
Group 3
<input type="checkbox" id="3" class="cb"/>
<input type="text" class="txt3">
<input type="text" class="txt3">
<br/><br/>
<input type="button" id="button1" value="click me" />
<强>的jQuery 强>
$("#button1").click(function(){
$(".cb").each(function(){
var flag = 0;
if($(this).is(':checked'))
{
$(".txt" + $(this).attr("id")).each(function(){
if($(this).val() == "")
{
flag = 1;
}
});
if(flag == 1)
{
alert("Fields of Group " + $(this).attr("id") + " are empty, Please fill it");
}
}
});
});
<强> Live demo here 强>
答案 1 :(得分:1)
如果您的命名约定与您编写的相同您可以使用以下代码...
将您的复选框的ID分别更改为PartsChk,SalesChk和ServiceChk。然后编写以下脚本
$('input[type=checkbox]').each(function(){
if($(this).is(':checked')){
var prefix=$(this).id.replace('Chk','');
if($('#'+prefix+'Title').val()==''){
alert(prefix+'Title Field can not be left Empty');
$('#'+prefix+'Title').focus();
}
else if($('#'+prefix+'FirstName').val()==''){
alert(prefix+'FirstName Field can not be left Empty');
$('#'+prefix+'FirstName').focus();
}
else if($('#'+prefix+'LastName').val()==''){
alert(prefix+'LastName Field can not be left Empty');
$('#'+prefix+'LastName').focus();
}
else if($('#'+prefix+'EmpId').val()==''){
alert(prefix+'EmpId Field can not be left Empty');
$('#'+prefix+'EmpId').focus();
}
}
}
这个JQuery代码将准确地给出你想要的东西,如果选中corressponding复选框并且在焦点转移到空白元素之后字段留空,它会发出警告。