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

Ara*_*mus 10 jquery select list

嗨我有一个选择列表谎言所以:

<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>
Run Code Online (Sandbox Code Playgroud)

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

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

 <option selected='y' value="debit-0.00-50.00">Debit1</option>
Run Code Online (Sandbox Code Playgroud)

有没有人知道一种获取用户选择的选定值而不是默认选择值的方法?

编辑澄清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>
Run Code Online (Sandbox Code Playgroud)

使用以下jquery:

$("a.minPay").click(function(event) {
            event.preventDefault();
            $("#paymentAmount").val($("#dueFrom").html());
            var from = parseFloat($("#paymentAmount").val());
            var card = $('#cardType').val();
    });
Run Code Online (Sandbox Code Playgroud)

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

Nic*_*ver 19

确保你有适当的得到它id,并在合适的时间,这是正确的方法:

$('#cardtype').val();
Run Code Online (Sandbox Code Playgroud)

需要注意的是id就是cardtype,不是cardType,它是区分大小写.此外,在用户选择值,您需要确保在此之后运行,例如:

$('#cardtype').change(function() {
  alert($(this).val());
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里测试一下.另请注意,应始终引用您的属性.