Привет, я новичок в jQuery, и я пытаюсь решить эту проблему:
When selecting a value from the dropdown (
<select>
), you need to change the content of the div tag (in red) with the selected value. Please use jQuery to solve this test, and please don't add any id/class to the above HTML code!
Я уже написал скрипт, но он не работает, помогите пожалуйста
var content = $( "div:gt(5)" );
$( "select" ).on( "click", function( event ) {
content.html('6 products');
});
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class = "toolbar-wrapper">
<div>
<div>
<label>Product Count</label>
<div class = "select-group">
<select>
<option value = "4 products" selected = "selected">4 products</option>
<option value = "6 products">6 products</option>
<option value = "8 products">8 products</option>
</select>
</div>
</div>
<div>4 products</div>
</div>
</div>
Используйте this.value
в обработчике событий, чтобы получить значение, выбранное в раскрывающемся списке.
Когда вы выбираете что-то из раскрывающегося списка, запускается событие change
, а не click
.
div:gt(5)
не является правильным селектором для div, в котором должен отображаться результат. Нумерация начинается с 0
, поэтому это номер DIV 4
. Вы можете использовать .eq(4)
, чтобы выбрать это.
var content = $("div").eq(4);
$("select").on("change", function(event) {
content.html(this.value);
});
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class = "toolbar-wrapper">
<div>
<div>
<label>Product Count</label>
<div class = "select-group">
<select>
<option value = "4 products" selected = "selected">4 products</option>
<option value = "6 products">6 products</option>
<option value = "8 products">8 products</option>
</select>
</div>
</div>
<div>4 products</div>
</div>
</div>
Вы можете настроить таргетинг с помощью >
и селекторы позиций.
$( "select" ).on( "change", function( event ) {
$('.toolbar-wrapper > div > div:nth-child(2)').html(event.target.value);
});