获取所选选定元素的文本内容

时间:2014-10-06 14:37:42

标签: jquery html

根据定义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());

2 个答案:

答案 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);
};

DEMO HERE