HTMLページに大量のドロップダウンがあり、それらが変更されたときにイベントを発生させたい(最終的にはajaxを介してすべてのドロップダウンをコンテンツで更新します)-しかし、今のところ私はそれをアラートにしようとしています選択したデータ要素を取り出します。ページ上のすべてのドロップダウンで起動するのではなく、対応する css クラスを持つドロップダウンだけを起動します。つまり、group1 group2 です。グループがいくつあるか分からないので、グループも動的でなければなりません。
現時点でのjsフィドルがあります。最初の 4 つのドロップダウンの 1 つを変更した場合は 4 回、2 つ目のドロップダウンを変更した場合は 2 回だけアラートが表示されると思います。しかし、明らかに私は何か間違ったことをしています!
私のhtmlは次のとおりです。
<select id="test1" class="group1" data-type="Select Box 1">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select id="test1" class="group1" data-type="Select Box 2">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select id="test1" class="group1" data-type="Select Box 3">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select id="test1" class="group1" data-type="Select Box 4">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select id="test1" class="group2" data-type="Select Box 5">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select id="test1" class="group2" data-type="Select Box 6">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
私のJSは:
$(document).ready(function() {
$('select').change(function() {
$('.group1').each(function() {
alert($(this).data('type'));
});
$('.group2').each(function() {
alert($(this).data('type'));
});
});
});