Javascript 单选按钮名称更改

Javascript 单选按钮名称更改,javascript,asp.net,html,Javascript,Asp.net,Html,我创建了两个单选按钮 <input type="radio" name="ApprovalGroup" runat="server" id="ApprovedOnly" value="true" />Approved <input type="radio" name="ApprovalGroup" runat="server" id="UnapprovedOnly" value="false" />Unapproved 是否可以防止名称更改 您可以使用$=选择器,选择其

我创建了两个单选按钮

<input type="radio" name="ApprovalGroup" runat="server" id="ApprovedOnly" value="true" />Approved
<input type="radio" name="ApprovalGroup" runat="server" id="UnapprovedOnly" value="false" />Unapproved

是否可以防止名称更改

您可以使用
$=
选择器,选择其值以给定子字符串结尾的属性:

$("input[name$=ApprovalGroup]:checked")

.NET希望该名称用于自己的目的,但这并不妨碍您将CSS类名用于自己的目的

这样您就可以使用
$('.classname').val()
。您可以为字段使用单独的类名,也可以共享它们以组成组

$("input[name*=ApprovalGroup]:checked")
这是一个很好的解决方案,但如果有另一个输入包含这些单词,则可能发生冲突。所以,更安全的解决方案是使用您自己的属性。 例如,


如果要建议使用自定义属性,请至少建议一个有效的属性-那么为什么不使用“ends with”选择器,因为原始名称将始终位于生成的名称的末尾(根据ASP.NET的约定)?更安全,其中
*=
可以匹配“ApprovalGroupSecond”。并且可能会节省一些我们看不到的处理,但仍然是。
$=
将是实现这一点的方法<例如,如果您还有一个名为
ApprovalGroupValidator
的控件,则code>*=会导致问题。ASP只是预先准备好了。@Ian啊,你这么做了!一定是在我打字时发生的:P@JamesDonnelly这对我来说很有趣:)我认为这三个答案都很好,不知道该把哪一个标记为答案,所以我标记了最后使用的那个。
$("input[name*=ApprovalGroup]:checked")
 <input type="radio" name="ApprovalGroup" data-group="group1" runat="server" id="ApprovedOnly" value="true" />Approved
 <input type="radio" name="ApprovalGroup" data-group="group1" runat="server" id="UnapprovedOnly" value="false" />Unapproved
$("input[data-group='group1']:checked")