0

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

<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 在进行选择时获取选择选项文本,然后将选择选项值分配给变量:

    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);

疯狂的是,这在我的开发组织中有效,但是当我将其推送到我的暂存区域时,它不再有效。当我显示警报时,我收到以下值:

“100 英里内搜索所有”

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

额外的“搜索全部”文本来自哪里??????我找不到那是从哪里来的??

任何帮助表示赞赏。谢谢!

4

4 回答 4

0

select您的页面上可能还有其他id用于选择器。

没有必要if conditions。尝试这个:

alert($('#selectOption option:selected').text());
distance = $('#selectOption option:selected').val();
alert(distance);
于 2013-07-22T15:50:38.313 回答
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

于 2013-07-22T15:50:46.130 回答
0

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

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

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

于 2013-07-22T15:54:35.457 回答
0

可以使用以下代码直接获取选中的索引值

$(document).ready(function()
{
   $('#selectOption').change(function()
   {
      var dis = $('#selectOption').val();  
   });
});
于 2013-07-22T15:59:04.003 回答