JQuery使用默认选择= y时从选择列表中获取用户选择的值

Posted

技术标签:

【中文标题】JQuery使用默认选择= y时从选择列表中获取用户选择的值【英文标题】:JQuery Get user selected value from select list when using default select=y 【发布时间】:2011-05-21 17:28:34 【问题描述】:

您好,我有一个选择列表:

<select id=cardtype name=cardtype>
<option selected='y' value="debit-0.00-50.00">Debit1</option>
<option value="debit-0.00-50.00">Debit2</option>
<option value="debit-0.00-50.00">Debit3</option>
<option value="Credit-1.00-50.00">CreditCard</option>
</select>

我一直在 JQuery 中尝试各种方法来获取用户选择值的值: var card = $('#cardType').val(); var card = $('#cardType :selected').val(); 等等等等

但是它们都只是返回默认选择选项的值:

 <option selected='y' value="debit-0.00-50.00">Debit1</option>

有谁知道获取用户选择的选定选项值而不是默认选定值的方法?

编辑 澄清当用户点击这样的链接时运行 JQuery:

<label for="paymentAmount">Amount (minimum payment <a class="minPay" href="">£<span id="dueFrom">50.00</span></a>) <span class="instructions"><span class="mandatory">*</span></span></label>

使用以下 jquery:

$("a.minPay").click(function(event) 
            event.preventDefault();
            $("#paymentAmount").val($("#dueFrom").html());
            var from = parseFloat($("#paymentAmount").val());
            var card = $('#cardType').val();
    );

当用户在选择列表中选择一个选项时,这不会运行。我想要值选项而不是文本:)

【问题讨论】:

【参考方案1】:

确保您使用正确的id在正确的时间获得它,这是正确的方法:

$('#cardtype').val();

注意idcardtype,而不是cardType,它区分大小写。此外,您需要确保在用户选择了一个值之后 之后运行,例如:

$('#cardtype').change(function() 
  alert($(this).val());
);

You can test it out here。另请注意,您的属性应始终被引用。

【讨论】:

您好,感谢您的快速回答! :) 但是,id 是正确的(我忘了在帖子中加上“t”)这个函数在用户点击链接时运行,而不是在选择列表更改时运行。 嗨尼克,在使用那个 yool 之后(非常好:))我发现我的代码在那里工作正常.. 但是在我的应用程序中它没有,我想知道它是否因为选择列表是通过 AJAX 动态生成的,虽然我不明白为什么会有所作为..【参考方案2】:

您需要确保您的 ID 相同(您的代码和 HTML 有不同的大小写);

$('#cardtype').val(); 将获得如下所示的选定值:http://jsfiddle.net/jonathon/8hvRa/

还有一点是,您所有的借记卡价值都是相同的。 val 获取选项的值,而不是文本。

【讨论】:

嗨 Jonathon,我关注的是选项的值而不是文本,上面的 html 只是一个示例,在实际应用中,每个选项都有不同的文本和不同的值

以上是关于JQuery使用默认选择= y时从选择列表中获取用户选择的值的主要内容,如果未能解决你的问题,请参考以下文章

填充时从集合视图中选择一个单元格

jquery datatable如何在导出到excel pdf时从标题中删除下拉过滤器选择值

选择和取消选择时从选择框中获取值

从下拉列表中获取所选文本,但使用jQuery删除数值

使用jQuery从下拉列表(选择框)中获取选定的ID [重复]

每当我更改第一个下拉列表中的选项时,需要 jquery 将第二个下拉列表的默认选项更改为“选择”