0
私はjQueryのを学ぶためにしようとしている
を選択したときに他の人を隠し、できるようにしたい:は、関連のdivを表示&関連オプションは
- 関連するオプションを選択したときに価格を表示(達成)
- 他の背景を非表示にする&は、ボタンをクリックすると関連する背景のみを表示します(つまり、 'option 2'を選択すると 'div-2'が表示されます)。
2を達成できないのはなぜですか?
この部分のお詫びは、JS &部分JQですが、JQはよく分かりません。 JSはJQに変換することができれば、私は本当に
function updatePrice() {
$('#priceSpan').html(
$('#selector').find('option:selected').data('price'));
}
function rightBG() {
var divToDisplay = $('#selector').find('option:selected').data('div-id');
var els = document.getElementsByClassName('options');
for (i=0; i<els.length; i++) {
var el = els[i];
el.style.display='none';
}
divToDisplay.style.display='block';
}
#selector {
width: 300px;
height: auto;
}
#div-1{
width: 100%;
height: 50px;
background: yellow;
}
#div-2{
width: 100%;
height: 50px;
background: lightblue;
}
#div-3{
width: 100%;
height: 50px;
background: lightgreen;
}
#priceSpan {
background: orange;
}
.options {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<select onchange="updatePrice()" id="selector">
<option class="options" value="id-1" data-price="10" data-div-id="#div-1">choice 1</option>
<option class="options" value="id-2" data-price="20" data-div-id="#div-2">choice 2</option>
<option class="options" value="id-3" data-price="30" data-div-id="#div-3">choice 3</option>
</select>
<div id="div-1">div 1</div>
<div id="div-2">div 2</div>
<div id="div-3">div 3</div>
<span id="priceSpan">Price here</span>
<button onclick="rightBG()">View Relevant Background</button>
ボタンをクリックしたときに感謝しかし、より重要な部分は、右の背景が表示されています。それをどのように働かせることができますか? – user8758206
@ user8758206私はそのコードが意図したことをはっきりとは分かっていませんが、先に進んでボタンを押すと、選択されたものの全体の背景が設定されます。あなたが解決策としてマークすることができれば、私があなたを助けたなら、それはたくさんの助けになります。ありがとう! – Neil
スニペットの[関連する背景を表示]ボタンはFirefoxでは動作しませんが、Chromeで動作します。スタックオーバーフローがスニペットを表示するために使用する 'iframe'のセキュリティ設定のためです。 –