如何用jQuery選取ASP.net中相同GroupName的RadioButton

假設

<asp:RadioButton ID="RadioButton1" runat="server" GroupName="Group1" />
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="Group1" />

一開始使用:

$("input[name=Group1]:radio")

但是不行,因為Server Control會自動改變輸出的內容,變成像這樣:

<input id="RadioButton1" type="radio" name="ctl00$ContentPlaceHolder1$Group1" value="RadioButton1">

直接用

$("input[name=ctl00$ContentPlaceHolder1$Group1]:radio")

會出現JS Error,因為jQuery Selector中,$是有特別意義的,所以必須要在前面加上跳脫字元。

於是可以使用以下程式碼:

$("input[name=" + $("<%=RadioButton1.ClientID %>").attr("name").replace(/[$]/g, "\\$") + "]:radio")

之所以要用Regular Expression是因為如果是.replace(“$", “\\$"),只會取代第一個字元。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s