【问题标题】:JQuery UI buttonset not working on radio buttons when I associate runat="server" attribute当我关联 runat="server" 属性时,JQuery UI 按钮集在单选按钮上不起作用
【发布时间】:2023-04-07 06:45:01
【问题描述】:

我正在创建一个演示应用程序,我想在其中使用单选按钮作为按钮。为此,我正在使用 JQuery UI 按钮集小部件。它之前工作正常,但是当我引入属性 runat="server" 时,实际问题开始了,以便在回发期间保留状态。但是在应用该属性后,buttonset 小部件停止在单选按钮上工作。

所以,我只想要一个解决方案,我可以保留单选按钮控件的状态,同时在它们上应用按钮集小部件。

    <div id="genderOptions">
        <input type="radio" id="genderMale" value="Male" name="gender" />
        <label for="genderMale" >Male </label>
        <input type="radio" id="genderFemale" value="Female" name="gender"/>
        <label for="genderFemale" >Female </label>
    </div>

Output without runat="server" attribute

    <div id="genderOptions">
        <input type="radio" id="genderMale" value="Male" name="gender" runat="server" />
        <label for="genderMale" >Male </label>
        <input type="radio" id="genderFemale" value="Female" name="gender" runat="server" />
         <label for="genderFemale" >Female </label>
    </div>

This is the final output after specifying the attribute runat="server"

【问题讨论】:

    标签: javascript jquery html asp.net


    【解决方案1】:

    runat="server" 属性用于动态更改idname 属性。验证您的渲染标记。可能你会看到类似的东西 &lt;input type="radio" id="ctl00_genderMale" value="Male" name="ctl00$gender" /&gt; 我假设您在初始化按钮集小部件的 JS 中使用 id 指定输入字段。尝试使用标签或类选择器:

    $("#genderOptions").buttonset({
        items: "input[type=radio]"
    });
    

    【讨论】:

    • 好吧,我使用了您提到的相同方法,但它没有给我所需的输出。
    • 能否提供您用于小部件初始化的JS代码?作为一个肮脏的解决方法,您可以保留没有runat="server" 属性的单选按钮,创建一对具有runat="server" 属性的隐藏输入,并在提交表单时使用JS 从单选按钮复制值。以防万一我们找不到问题的根源。
    • 我没有使用隐藏字段,而是将 HTML 控件转换为 ASP.net 控件。这解决了我的目的。
    猜你喜欢
    • 2013-06-24
    • 1970-01-01
    • 2011-03-27
    • 2012-03-20
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多