0
<select id="dropdown">
    <option value="200" selected>AMD Athlon 7x</option>
    <option value="300">Core i7</option>
    <option value="400">Core i5</option>
</select>
<select id="dropdown">
    <option value="250" selected>GTX 560 ti</option>
    <option value="350">GRX 680</option>
    <option value="40">ATI 6870</option>
</select>

選択した値に基づいて最終製品の価格を計算しています。

$('select').change(function() {
});

選択した属性を削除して選択したオプションに割り当てるにはこの関数が必要ですが、新しく選択したオプションをターゲットにする方法がわかりません。

4

4 に答える 4

5
$('select').change(function() {
     $(this).children(':selected').attr('selected', true);
});

しかし、なぜこれが必要なのかわかりません:)

于 2013-03-14T14:56:56.327 に答える
1

選択したオプションを取得するには、ドロップダウンリストに最初に一意のIDを設定する必要があります

<select id="dropdown1">
    <option value="200" selected>AMD Athlon 7x</option>
    <option value="300">Core i7</option>
    <option value="400">Core i5</option>
</select>
<select id="dropdown2">
    <option value="250" selected>GTX 560 ti</option>
    <option value="350">GRX 680</option>
    <option value="40">ATI 6870</option>
</select>

$("#dropdown1 option:selected");

そうは言っても、ドロップダウンメニューは、最初に選択したドロップダウンオプションを自動的に変更します。

さらに、選択されたオプションの値を選択したときに取得する場合は、.val()を使用します。

$('select :selected').change(function(){
    $("#dropdown1 option:selected").val();
});
于 2013-03-14T14:56:25.187 に答える
1

このような:

$('select :selected').change(function(){
  //more code
});
于 2013-03-14T14:55:41.557 に答える
0

上記の例には構文エラーがあります。以下は正しくありません (試してみましたが、動作しません)。

$('select :selected').change(function(){

以下はjQueryサイトのサンプルコードからのものです(私も試してみましたが、うまくいきます):

<select name="garden" multiple="multiple">
  <option>Flowers</option>
  <option selected="selected">Shrubs</option>
  <option>Trees</option>
  <option selected="selected">Bushes</option>
  <option>Grass</option>
  <option>Dirt</option>
</select>
/* ... */
<script>
$( "select" ).change(function() {   // <<<<< this is the correct syntax
  var str = "";
  $( "select option:selected" ).each(function() {
    str += $( this ).text() + " ";
  });
})
</script>
于 2014-05-01T02:38:21.157 に答える