我正在尝试在js中获取c#单选按钮列表的值。因为ID在代码运行时更改并最终在其前面有ContentPlaceHolder1
,所以我不能以标准的js方式调用ID。
相反,我之前在其他领域使用过这个,但从未在单选按钮列表中使用过。我正在使用这行代码但未定义 - 任何人都可以发现问题!?
var prvalue = $("input[name='<%=personalRadio.UniqueID%>']:radio:checked").val();`
console.log(prvalue);`
这让我疯了!谢谢!
更新
因此,运行时单选按钮列表的总ID为ContentPlaceHolder1_personalRadio
但我注意到每个广播项目略有不同:
ContentPlaceHolder1_personalRadio_0
和ContentPlaceHolder1_personalRadio_1
所以我认为这就是为什么我的价值没被选中的原因。我不知道如何解释这个问题呢?
这是.aspx文件中的单选按钮字段:
<asp:RadioButtonList ID="personalRadio" RepeatLayout="Flow" RepeatDirection="Horizontal" runat="server" required="true" onChange="selectionShow()">
<asp:ListItem class="radio-inline" Value="yes" Text="Yes"></asp:ListItem>
<asp:ListItem class="radio-inline" Value="no" Text="No"></asp:ListItem>
</asp:RadioButtonList>
JS代码更新:
//Radio buttons in the risk section.
var prvalue = $("input[name='<%=personalRadio.clientID%>']:radio:checked").val();
var psvalue = $("input[name='<%=sensitiveRadio.UniqueID%>']:radio:checked").val();
var crvalue = $("input[name='<%=confidentialRadio.UniqueID%>']:radio:checked").val();
console.log(prvalue);
然后我添加了它,但它会导致语法错误:
var prvalue2 = $("#<%= personalRadio.ClientID %> input:checked").val();
console.log(prvalue2);
来自HTML网页来源的代码:
//Radio buttons in the risk section.
var prvalue = $("input[name='<%=personalRadio.clientID%>']:radio:checked").val();
var psvalue = $("input[name='<%=sensitiveRadio.UniqueID%>']:radio:checked").val();
var crvalue = $("input[name='<%=confidentialRadio.UniqueID%>']:radio:checked").val();
console.log(prvalue);
var prvalue2 = $("#<%=personalRadio.ClientID%> input:checked").val();
console.log(prvalue2);
答案 0 :(得分:1)
var prvalue = $("#<%= personalRadio.ClientID %> input:checked").val();
console.log(prvalue);
请记住,此代码必须放在.aspx / .ascx文件中,其中C#片段由服务器端ASP.NET编译和执行,而不是在.js文件中,我确定在哪里你有它。