在jquery中访问同名单选按钮
我的视图中有以下代码。它有两个同名单选按钮。它在控制器中运行良好,我可以使用单选按钮名称访问它的表单集合,该单选按钮名称为我选择的是或否值 所以,如果用户在表单中选择“否”,我将从表单[“rbc”]中访问它,它会给我“否”的值 虽然在jquery中并非如此,但我无法访问此单选按钮来检查用户是否选择了“是”或“否”。请建议我如何在jquery中实现它 如果必填字段为“是”,则为每个字段分配一个类“验证”,否则为空。为了验证来自jquery的控件(客户端) 当前jquery代码迭代所有单选按钮。但我需要它对具有相同名称的单选按钮只重复一次 控制器在jquery中访问同名单选按钮,jquery,html,asp.net-mvc-4,Jquery,Html,Asp.net Mvc 4,我的视图中有以下代码。它有两个同名单选按钮。它在控制器中运行良好,我可以使用单选按钮名称访问它的表单集合,该单选按钮名称为我选择的是或否值 所以,如果用户在表单中选择“否”,我将从表单[“rbc”]中访问它,它会给我“否”的值 虽然在jquery中并非如此,但我无法访问此单选按钮来检查用户是否选择了“是”或“否”。请建议我如何在jquery中实现它 如果必填字段为“是”,则为每个字段分配一个类“验证”,否则为空。为了验证来自jquery的控件(客户端) 当前jquery代码迭代所有单选按钮。但我
signup.Controls = new List<MembershipControls>();
foreach(var controlItem in _membershipcontrols.Table.ToList())
{
signup.Controls.Add(new MembershipControls()
{
Caption = controlItem.Caption,
Content = controlItem.Content,
ControlType = controlItem.ControlType,
GroupTitle = controlItem.GroupTitle,
Mandatory = controlItem.Mandatory == "Yes" ? "validate" : "",
Name = controlItem.Name,
UserId = controlItem.UserId
}); //modify mandatory field to assign class "validate" and empty to not validate
}
signup.Groups = new List<Groups>();
signup.Groups = _groups.Table.ToList();
return View("Signup", signup);
signup.Controls=newlist();
foreach(在_membershipcontrols.Table.ToList()中的var controlItem)
{
signup.Controls.Add(newmembershipControls()
{
Caption=controlItem.Caption,
Content=controlItem.Content,
ControlType=controlItem.ControlType,
GroupTitle=controlItem.GroupTitle,
必填项=控制项。必填项=“是”?验证“:”,
Name=controlItem.Name,
UserId=controlItem.UserId
});//修改必填字段以指定类“validate”,修改为空则不指定类“validate”
}
signup.Groups=新列表();
signup.Groups=_Groups.Table.ToList();
返回视图(“注册”,注册);
查看
@foreach (var groups in Model.Groups)
{
<label style="font-weight:bold">@groups.GroupTitle</label>
<div style=" border: 1px solid #CCCCCC;padding:5px">
@foreach (var row in Model.Controls.Where(r => r.GroupTitle == groups.GroupTitle))
{
<div style="padding:7px">
@if (row.ControlType == "Single Line Text")
{
<label>@row.Caption</label>
<input type="text" name="@row.Name" class="@row.Mandatory" />
}
else if (row.ControlType == "Multi Line Text")
{
<label>@row.Caption</label>
<textarea name="@row.Name" class="@row.Mandatory"></textarea>
}
else if (row.ControlType == "Yes/No Choice(Radio Buttons)")
{
<div>
<label>@row.Caption</label>
 
<input type="radio" name="@row.Name" value="Yes" class="@row.Mandatory"/>   Yes
 
<input type="radio" name="@row.Name" value="No" class="@row.Mandatory"/>   No
</div>
}
else if (row.ControlType == "Checkbox")
{
<div>
<input type="checkbox" name="@row.Name" class="@row.Mandatory"/> @row.Caption
</div>
}
else if (row.ControlType == "Date")
{
<div>
<label>@row.Caption</label>
<input type="date" name="@row.Name" class="@row.Mandatory"/>
</div>
}
</div>
}
</div>
}
@foreach(Model.groups中的变量组)
{
@groups.GroupTitle
@foreach(Model.Controls.Where(r=>r.GroupTitle==groups.GroupTitle))中的var行)
{
@if(row.ControlType==“单行文本”)
{
@行。标题
}
else if(row.ControlType==“多行文本”)
{
@行。标题
}
else if(row.ControlType==“是/否选项(单选按钮)”)
{
@行。标题
 
&是的
 
 否
}
else if(row.ControlType==“复选框”)
{
@行。标题
}
else if(row.ControlType==“日期”)
{
@行。标题
}
}
}
脚本
<script type="text/javascript">
$(document).ready(function () {
$('#signupform').submit(function ()
{
$(".validate").each(function () {
if ($(this).is("input[type=radio]")) {
alert($(this).attr('name'));
// here is the logic to check whether user has selcted Yes or No
}
});
});
});
$(文档).ready(函数(){
$(“#注册表单”).submit(函数()
{
$(“.validate”).each(函数(){
如果($(this).is(“输入[type=radio]”){
警报($(this.attr('name'));
//下面是检查用户是否选择了是或否的逻辑
}
});
});
});
用作
$('input[name="rbc"]:checked').val()
尽量避免jQuery中的伪选择器([type=radio]),因为它们的性能很差。使用类选择器。给收音机上一节课,然后执行以下操作:
$('.my-class:checked').val();
如果您不想直接使用:checked,则可以将其用作is
$('.my.class').each(function(){
if ( $(this).is(':checked') ) { /* magic */ }
});
您应该仅为单选按钮获取
:选中的项:
$(function () {
$('button').on('click', function () {
$('.validate:checked').each(function () {
var name = $(this).attr('name');
var value = $(this).val();
alert(name + ' : ' + value);
});
});
});
.您的单选按钮没有验证类???我修改了代码。基本上,我已经为必填字段分配了一个类,以便从jquery验证它们。另外,控件名来自服务器端。所以我也不知道控件名。我只使用类名“validate”访问控件。因此,假设在一个分区中有两个单选按钮作为一个组。我需要通过迭代jquery中的所有单选按钮来访问哪个用户选择了Yes或Noit。我只需要访问它对每个单选按钮有相同的名称。你建议的链接工作良好,如果我们已经知道单选按钮的名称。但是如果我们迭代类并访问控件呢。请查看我修改的代码和建议,这只适用于选中的单选按钮。如果用户没有选中其中一个单选按钮,该怎么办。那它就不会表现出来了。我需要检查所有用户是否选择了“否”、“是”或“无”。很容易找到Amit