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

select allがすべてのオプションに添付されている理由がわかりません。間違ってそのテキストが含まれている可能性があります。

ので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

次のコードを使用して、選択したインデックス値を直接取得できます

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

選択した値だけが必要な場合は、使用してください

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

テキストを選択してから値を選択する必要はありません。

于 2013-07-22T15:54:35.457 に答える