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

时间:2010-12-07 16:55:39

标签: jquery list select

您好我有一个选择列表谎言:

<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>

是否有人知道如何获取用户选择的选定值而非默认选定值?

EDIT 澄清当用户点击如下链接时运行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();
    });

当用户在选择列表中选择一个选项时,这不会运行..我希望值选项不是文本:)

2 个答案:

答案 0 :(得分:18)

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

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

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

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

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

答案 1 :(得分:1)

您需要确保您的ID相同(您的代码和HTML有不同的情况);

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

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