【问题标题】:jQuery: How to grab RadioButton selection?jQuery:如何抓取 RadioButton 选择?
【发布时间】:2010-03-31 06:51:42
【问题描述】:

我需要获取使用 jQuery 选择的单选按钮选项的值。我正在使用以下代码,但 Firebug 中未定义“str”:

 //handling Feed vs. Ingredient RadioButton
            $('[id$=rdoCheck]').change(function() {
                str = $("input[name='rdoCheck']:checked").val();
                //ingredients
                if (str == "ing")
                { $('[id$="lblDescription"]').text("Ingredient") }
                //finished feed
                else if (str == "ffc")
                { $('[id$="lblDescription"]').text("Finished") }

            });

【问题讨论】:

  • 可以显示对应的HTML代码吗?
  • 名称属性选择器中不需要引号。 $("input[name=rdoCheck]:checked") 就足够了。
  • var声明你的变量!!!天哪,这在 StackOverflow 上就像每天发生。

标签: jquery radio-button


【解决方案1】:

看起来您正在使用 ASP.Net。当您查看呈现的 html 时,您会发现它与(前缀)name 属性混淆,就像它对 ID 所做的那样。

您还需要在其上使用ends-with selector,如下所示:

var str = $("input[name$=rdoCheck]:checked").val();

【讨论】:

    【解决方案2】:

    我将类添加到我的 .net 生成的元素中,以便我可以使用更简单的 jQuery 选择器,例如

    <asp:textbox id="txtName" CssClass="name"/>
    
    $('input.name').text();
    

    注意:您可以在 asp.net 4.0 中指定绝对标识符

    【讨论】:

    • 这适用于您的示例,但不适用于单选按钮组,例如,如果您有一个带有组的用户控件及其多个副本,您将如何获得特定组?.. .get 有点乱,最好关闭名称...也在 4.0 中修复
    • @Nck - 我会为每个用户控件实例指定一个不同的 CssClass(除非您使用中继器或其他东西,否则我们可能会受到 jQuery 的伤害!)
    猜你喜欢
    • 2017-03-12
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2017-04-04
    相关资源
    最近更新 更多