私は「状態」選択といくつかの「キャリア」選択を持っています。簡単にするためにここでは2つのキャリア選択のみを使用しています。 私のjqueryは、選択した状態に基づいてキャリアの選択を表示すると仮定しています。 特定のクラスを追加するキャリアを選択できるように、状態選択値がキャリア選択名に追加されます。Jqueryが選択要素を表示していません。コンソールにエラーはありません
問題:キャリアの選択が表示されません。私は一点でこれが働いていたので、途中で何かを変えたに違いない。ここで何が起こっているのか分かりません。どんな助けも素晴らしいだろう。ありがとう!
EDIT:オリジナルのJSを追加して、どこにいたのか、どのようにJqueryに変更したいのかを示しました。
HTML:
<div style="width:160px;">
<select name="state_select" id="state_select">
<option value="0" selected>Choose a state</option>
<option value="1">Connecticut</option>
<option value="2">New Hampshire</option>
<option value="3">New Jersey</option>
<option value="4">New York</option>
</select>
</div>
<div id="select-div1" class="select-div">
<select name="carrier_select" id="carrier_select1" class="carrier_select">
<option selected disabled>Select a carrier - Conn</option>
<!--PHP GENERATED OPTIONS-->
</select>
</div>
<div id="select-div" class="select-div">
<select name="carrier_select" id="carrier_select2" class="carrier_select">
<option selected disabled>Select a carrier - NH</option>
<!--PHP GENERATED OPTIONS-->
</select>
</div>
のjQuery:
$('#state_select').prop('selectedIndex', 0);
$('.carrier_select').prop('selectedIndex', 0);
function optionCheck() {
stateVal = $('div.select-div select').val();
selectDiv = $('#carrier_select')[0] + stateVal;
if ($(stateVal).attr('selected', 'selected')) {
$(selectDiv).attr('class', "conn_select", "nh_select", "nj_select", "ny_select");
$(selectDiv).addClass("dropdown-box");
} else {
$(selectDiv).attr('class', 'carrier_select');
}
}
$('#state_select').change(function(e) {
$('.carrier_select').prop('selectedIndex', 0);
optionCheck();
});
MY JAVASCRIPT(WORKS)のjQueryをしようとする前に:
function optionCheck() {
var i, len, optionVal, selectDiv,
selectOptions = document.getElementById("state_select");
// loop through the options in case there
// are multiple selected values
for (i = 0, len = selectOptions.options.length; i < len; i++) {
// get the selected option value
optionVal = selectOptions.options[i].value;
// find the corresponding help div
selectDiv = document.getElementById("carrier_select" + optionVal);
// move on if I didn't find one
if (!selectDiv) { continue; }
// set CSS classes to show/hide help div
if (selectOptions.options[i].selected) {
selectDiv.className = "conn_select nh_select nj_select ny_select";
$(selectDiv).addClass("dropdown-box");
} else {
//Hide carrier select on page load
selectDiv.className = "carrier_select";
}
}
}
// bind the onchange handler
document.getElementById("state_select").onchange = optionCheck;
CSS:
.select-div select {
border: none;
-webkit-appearance: none;
-moz-appearance: none;
text-indent: 1px;
text-overflow: '';
}
.carrier_select {
display: none;
}
おかげで! "ドロップダウンボックス"クラスは実際には予約済みのスタイルです。申し訳ありませんが、私はサンプルから削除しました。しかし、私はあなたがどこにいらっしゃるのか分かります!私は古いJSを追加して、多分私がどこにいたのかを助けてくれました。 –