$(this:selected).val()或.text()不返回任何内容

时间:2015-11-12 03:18:11

标签: javascript jquery html

我有这个HTML代码:

<select name="status" statusCode="0" onchange="updateStatus(1)">
    <option value="toSend" statuscode="0">To send</option>
    <option value="send" statuscode="1">Send</option>
    <option value="problem" statuscode="2">Problem</option>
</select>

这个jQuery / JS函数:

function updateStatus(num) {
    alert ($('this:selected').text()); //Return nothing
    alert ($('this:selected').val()); //Return undefined
    alert ($(this).children('option:selected').text()); //Return nothing
}

当我更改选择选项时,我不明白为什么它没有返回任何内容或未定义。

2 个答案:

答案 0 :(得分:0)

试试这个

在Html中

onchange="updateStatus(1,this)"

在JS中

function updateStatus(num,ev) {

  alert($(ev).val());

}

<强> JSFIDDLE

答案 1 :(得分:0)

&#13;
&#13;
$('#select').change(function() {

  console.log($('option:selected', this).text()); //Return nothing
  console.log($('option:selected', this).val()); //Return undefined
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="status" statusCode="0" id="select">
  <option value="toSend" statuscode="0">To send</option>
  <option value="send" statuscode="1">Send</option>
  <option value="problem" statuscode="2">Problem</option>
</select>
&#13;
&#13;
&#13;

试试这种方式