1

非常に簡単な質問があります。同じドロップダウン ボックスのセット (行) がある場合、Jquery で個々の値を選択するにはどうすればよいですか?

http://jsfiddle.net/Bw4cr/2/

のように、クリックしたドロップダウンに応じて、(kite) または (22) を返します。

>Jクエリ

$(document).on('change', 'select[name=options]', function() {
   var selectVal= $(this).siblings('select').val();
    alert(selectVal);
});

HTML

<table>
<thead>
<th>Tie</th> <th>Pie</th><th>Lie</th>
</thead>

<tr>
<td><select class="Member" name="options">
    <option value="1">kite</option>
    <option value="2">flag</option>
    <option value="3">ball</option>
    <option value="4">road</option></td>
    <td>
    <select class="Member" name="options" price="200">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option></td>

    <td>
    <select class="Member" name="options" price="200">
    <option value="1">11</option>
    <option value="2">22</option>
    <option value="3">33</option>
    <option value="4">44</option></td>

    </tr>

    </table>
4

5 に答える 5

1

Text contentを取得する場合は、使用します

$(this).find('option:selected').text();

現在値を取得したい場合

$(this).val();

コード

$(document).on('change', 'select[name=options]', function() {
    var selectVal= $(this).find('option:selected').text();
    alert(selectVal);
});​

フィドルをチェック

于 2012-11-20T23:59:36.400 に答える
1

変更するだけです:

var selectVal= $(this).siblings('select').val();

var selectVal= $(this).val();
于 2012-11-20T23:59:48.383 に答える
0

value物件を紹介したい場合

$(document).on('change', 'select[name=options]', function() {
   var selectVal = $(this).val();
    alert(selectVal);
});​

ドロップダウンにテキストを表示したい場合は、Sushantsの回答が適切です

フィドル - http://jsfiddle.net/Bw4cr/5/

于 2012-11-20T23:58:59.270 に答える
0

次のように、 map() メソッドを使用して、すべての<select>タグから一連の値を取得できます。

$(document).on('change', 'select[name=options]', function() {
    var selectVal= $(this).parent().siblings().andSelf().find('select').map(function() {
        return $(this).val();
    }).get();
    alert(selectVal);
    // alerts something like "2,1,1"
});​

ここでjsFiddle を更新しました。

于 2012-11-21T00:03:11.420 に答える
0

他の選択はsiblingsすべてtdタグ内にあるため、変更された選択ではありません。次を使用します。

$(document).on('change', 'select[name=options]', function() {
    var selectVal=$(this).parent().siblings('td').find('select').map(function() {
       return $(this).val();
    });
 //delete junk
    delete(selectVal.context);
    delete(selectVal.prevObject);
    console.log(selectVal);
});​

しかし、これはおそらくあなたが望んでいない他の2つ(変更された値だけではない)のみを返すので、次のコード:

$(document).on('change', 'select[name=options]', function() {
//this will return array
    var selectVal=$(this).parents('tr').find('td > select').map(function() {
       //use here alert or whatever you want
       return $(this).val();
    });
    //delete junk
    delete(selectVal.context);
    delete(selectVal.prevObject);
    console.log(selectVal);
});​

andSelf()配列内の値の順序が変わるため、使用しません。

于 2012-11-21T00:09:38.510 に答える