获取选择选项文本

时间:2013-07-22 15:45:44

标签: javascript jquery

我有一个包含以下值的选择列表:

<select id="selectOption">
<option value="10">within 10 miles</option>
<option value="25">within 25 miles</option>
<option value="50">within 50 miles</option>
<option value="100">within 100 miles</option>
<option value="250">within 250 miles</option>
<option value="500">within 500 miles</option>

我正在使用jquery在选择完成后获取选择选项文本,然后将select选项值分配给变量:

    alert($j("select option:selected").text());
    if($j("select option:selected").text() == 'within 10 miles'){
        distance = $j("select option:selected").val()
    }
    if($j("select option:selected").text() == 'within 25 miles'){
        distance = $j("select option:selected").val()
    }
    if($j("select option:selected").text() == 'within 50 miles'){
        distance = $j("select option:selected").val()
    }
    if($j("select option:selected").text() == 'within 100 miles'){
        distance = $j("select option:selected").val()
    }
    if($j("select option:selected").text() == 'within 250 miles'){
        distance = $j("select option:selected").val()
    }
    if($j("select option:selected").text() == 'within 500 miles'){
        distance = $j("select option:selected").val()
    }

    alert(distance);

疯狂的事情是这在我的开发组织中起作用,但是当我把它推到我的临时区域时它就不再起作用了。当我显示警报时,我得到以下值吐出来:

“SearchAllwithin 100 miles”

它应该只是: “在100英里内”

来自?????的附加“搜索全部”文字在哪里?我无法找到它来自哪里?

感谢任何帮助。 谢谢!

4 个答案:

答案 0 :(得分:0)

您的网页上可能有其他select使用id作为选择器。

不需要if conditions。试试这个:

alert($('#selectOption option:selected').text());
distance = $('#selectOption option:selected').val();
alert(distance);

答案 1 :(得分:0)

我不确定为什么你会选择选择所有附加的所有。也许是因为你可能有错误的文字。

由于您 jQuery ,请转到.change事件处理程序。

我认为你甚至不需要if..else..陈述。

$(document).ready(function(){
  $('#selectOption').on('change', function() {
  //---- Todos
  $(this).find('option:selected').text(); //get the selected option's text
  var distance = $(this).find('option:selected').val();  //get the selected option's value     
  // or even $(this).val();
  alert(distance);
  });
});

选中此JSFiddle

答案 2 :(得分:0)

如果您只想要所选的值,那么只需使用

即可
var distance = $j("#selectOption").val()

并且无需选择文本然后选择值。

答案 3 :(得分:0)

您可以使用以下代码直接获取所选索引值

$(document).ready(function()
{
   $('#selectOption').change(function()
   {
      var dis = $('#selectOption').val();  
   });
});