您好我有一个选择列表谎言:
<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();
});
当用户在选择列表中选择一个选项时,这不会运行..我希望值选项不是文本:)
答案 0 :(得分:18)
确保您在正确的时间使用正确的id
和获取,这是正确的方法:
$('#cardtype').val();
请注意,id
为cardtype
,而非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
获取选项的值,而不是文本。