2010-03-18 80 views
2

我有以下ASP.NET单选按钮列表:jQuery的选择项

<asp:RadioButtonList ID="rbl" runat="server"> 
    <asp:ListItem Text="Type1" Value="1" /> 
    <asp:ListItem Text="Type2" Value="2" /> 
</asp:RadioButtonList> 

我想通过这样的客户端的jQuery函数编程,以在列表中选择一个项目(简化版本):

function BindWidget(widget) { 
    // Type property of Widget is an int. 
    $("#<%=rbl.ClientID%>").selectItemByValue(widget.Type); 
} 

在理想情况下,有一些功能 - 在上述代码中,我提出selectItemByValue - 通过给定的值选择在单选按钮列表的项目。 jquery是否具有内置的类似功能?如果不是,我应该如何去实现所需的功能?

回答

4

使用选择它:

$("#<%=rbl.ClientID%> input[value=" + widget.Type + "]") 
+0

这会工作,虽然我选择做一个过滤器,这样我就不必担心“类型”字符串值中潜在的“有趣”字符。 – Pointy 2010-03-18 23:03:01

+0

我修改了你的建议,选择RadioButtonList发出的适当的RadioButton;在输出中没有“选项”,就像DropDownList一样。我的实际ID比“rbl”更冗长,所以这不是问题。我喜欢Pointy使用过滤器的想法,但这种方法似乎更直接,并且它可以与RadioButtonList一起正常工作。 $(“input [id * ='rbl'] [value ='”+ widget.Type +']“)。attr(”checked“,”checked“); – mcliedtk 2010-03-18 23:59:28

+0

解决了我的问题...与类选择器也是:$(“。className input [value ='someValue']”) – dars 2018-01-19 13:50:56

1
function bindWidget(widget) { 
    $('#<%-rbl.ClientId%> input:radio') 
    .filter(function(btn) { return btn.value == widget.Type; }) 
    .attr('checked', true); 
} 
+1

RadioButtonLists绑定使用而非

+0

哦杜尔 - 我们对此深感抱歉!谢谢@ddango! – Pointy 2010-03-19 00:39:47

5

尝试。

$('#<%=rbl.ClientID %>').find("input[value=" + widget.Type + "]").attr("checked", "checked");