jquery スクリプトのヘルプが必要です。
私は2つのselect
箱を持っています。最初のボックスから 1 つのオプションを選択するとselect
、2 番目のボックスに使用可能なすべてのオプションから 3 つの項目が表示されます。スクリプトはそれを実行しますが、2 番目のボックスの上部に「追加の」値も表示しselect
ます。
誰かが理由を教えてもらえますか?
ここに私のHMTLコードがあります:
<select id="viewSelector" style="float: left;">
<option value="0">-- Select a View --</option>
<option value="view1">W</option>
<option value="view2">X</option>
<option value="view3">Y</option>
<option value="view4">Z</option>
</select>
<select id="viewSelect1">
<option id="view1a">W1</option>
<option id="view1b">W2</option>
<option id="view1c">W3</option>
<option id="view2a">X1</option>
<option id="view2b">X2</option>
<option id="view2c">X3</option>
<option id="view3a">Y1</option>
<option id="view3b">Y2</option>
<option id="view3c">Y3</option>
<option id="view4a">Z1</option>
<option id="view4b">Z2</option>
<option id="view4c">Z3</option>
</select>
ここに私のjQuery/JavaScriptがあります:
$(document).ready(function() {
$.viewMap = {
'0' : $([]),
'view1' : $('#view1a, #view1b, #view1c'),
'view2' : $('#view2a, #view2b, #view2c'),
'view3' : $('#view3a, #view3b, #view3c'),
'view4' : $('#view4a, #view4b, #view4c'),
};
$.each($.viewMap, function() { this.hide(); });
$('#viewSelect1').hide();
$('#viewSelector').change(function() {
// hide all
$.each($.viewMap, function() { this.hide(); });
$('#viewSelect1').hide();
// show current
$.viewMap[$(this).val()].show();
$('#viewSelect1').show();
});
});
ここで見つけることができる実際の例: http://jsfiddle.net/amarcinkowski/Sg8Xf/9/