根据定义here in documentation,我应该得到"按发票付款"当我选择它并且我使用$("#paymentMethod:selected").text()
时,但由于某种原因它对我不起作用。我敢打赌,我错过了一些简单的事情。任何人都知道为什么我的测试不会起作用?
e.g。如果我选择"按发票付款"并点击某事(按钮,链接等),它应该是console.log"按发票付款"。
HTML:
<select id="paymentMethod" name="billingformtype[paymentMethod]">
<option value="8">Pay by Credit or Debit Card</option>
<option value="9">Pay by Invoice</option>
</select>
//Prints "Pay by Credit or Debit CardPay by Invoice" whatever I select
var selected = $("#paymentMethod").text();
console.log(selected.trim());
//Prints empty string whatever I select
var selected = $("#paymentMethod:selected").text();
console.log(selected.trim());
答案 0 :(得分:0)
:selected
选择器适用于option
中的select
元素,因此您应该使用以下任一元素:
$("#paymentMethod :selected").text() // note the space
或
$("#paymentMethod option:selected").text()
答案 1 :(得分:0)
如果您从value=""
- &gt;中移除<select>
属性<options>
,
<select id="paymentMethod">
<option>Pay by Credit or Debit Card</option>
<option>Pay by Invoice9</option>
<option>etc.</option>
<option>etc.</option>
</select>
然后,你可以简单地这样做:
//jQuery
$('#paymentMethod').change(function(){
alert($(this).val());
});
//or Javascript
paymentMethod.onchange = function(){
alert(this.value);
};