1

レコードのリストの各行に1つずつ、ページにドロップダウンの配列があります。各変更イベントをトリガーするドロップダウンの行にあるDIVのコンテンツを更新する必要があります。

このようなもの:

<div class="price"></div>

<select id="plan[]" name="plan[]" class="sel">
  <option value="0" selected="selected">None</option>
  <option value="1">One</option>
  <option value="2">Two</option>
</select>   


$(function() {
    $('#plan').change(function(){
        $(this).prevAll('.price:first').html('foo bar');
    });
});

変更イベントは発生しません。何が欠けていますか?これがテストするフィドルです

4

3 に答える 3

3

id セレクターで startwith ワイルドカードを使用してみてください。

ライブデモ

$(function() {
    $('[id^=plan]').change(function(){
        $('.price:first').html('foo bar');
    });
});

単一のアイテムがあり、ワイルドカードが必要ない場合は、このように ID セレクターを使用して実行できます。

ライブデモ

$(function () {
  $('[id="plan[]"]').change(function () {
    $(this).prev('.price').html('foo bar');
  });
});
于 2013-01-16T15:43:01.307 に答える
0

idじゃないです planか。セレクターとして機能するはずですが、それは私には間違いのようにも思えます。あなたはおそらくそれを別のものに変えたいと思うでしょう。また、ページに複数の id 要素があることも意味しますが、これは無効です。plan[]$("#plan[]")plan[]

于 2013-01-16T15:44:54.790 に答える
0

要素のIDはそうplan[]ではなくplan、イベントコールバックはオブジェクトに登録されていません。

于 2013-01-16T15:44:02.467 に答える