2010-03-18 93 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");