我如何在每个加载页面的下拉列表过滤器上设置默认结果?就我而言,我想在每次加载页面时显示过滤器的结果之一。但不幸的是,事实并非如此。您必须先选择过滤器,然后得出结果。这是我的代码:
$('#preference, #style').on('change', function(){
var preference = $('#preference');
var style = $('#style');
if ( preference.prop('selectedIndex') > 0 && style.prop('selectedIndex') > 0 ) {
$('.result.active').removeClass('active');
$('.result').filter('[data-preference="' + preference.val() + '"][data-style="' + style.val() + '"]').addClass('active');
}
});
.result {
display: none;
}
.result.active {
display: block;
}
.kontener {
display: flex;
width: 100%;
}
.kontener1 {
display: flex;
width: 50%;
margin-bottom: 20px;
}
.baris {
flex: 50%;
margin: 0 3%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="kontener">
<div class="baris">
<div class="kontener1">
<div class="kota">
<h3 class="judul3">
City
</h3>
<select id="preference">
<option value="select">select</option>
<option value="Jakarta">Jakarta</option>
<option value="Bandung">Bandung</option>
<option value="Surabaya">Surabaya</option>
<option value="Makassar">Makassar</option>
<option value="Bali">Bali</option>
<option value="Gresik">Gresik</option>
<!--<option value="Bogor">Bogor</option>-->
<option value="Malang">Malang</option>
<option value="Sidoarjo">Sidoarjo</option>
</select>
</div>
<div class="jenis">
<h3 class="judul3">
Type
</h3>
<select id="style">
<option value="select">select</option>
<option value="Retail">Retail Store</option>
<option value="Modern">Modern Store</option>
<option value="System">System Integrator</option>
<option value="Audio">Audio Video / Home Theater Specialist</option>
</select>
</div>
</div>
</div>
</div>
<div class="result" data-preference="Jakarta" data-style="Retail">
jakarta retail
</div>
这是我的小提琴:https://jsfiddle.net/adenoe/fb7qmzeh/28/
请帮助我。
我想要的结果是,每次我加载页面时都显示过滤器结果之一,而不必选择下拉菜单。
然后,必须在页面加载后将下拉菜单的第一个选项设置为所选的,像这样
$("#target")[0].selectedIndex = 0
据我了解,您想做两件事
对于第一部分,最简单的方法是在html中设置所选值
<!-- first select field -->
<option value="Bandung" selected>Bandung</option>
<!-- second select field -->
<option value="Retail" selected>Retail Store</option>
只需将'selected'属性添加到您想要作为默认选项的选项。如果选择的值始终相同且不依赖于其他因素,请执行此操作。
如果要动态设置所选值,请通过javascript设置。
// first select field
$('#preference').val('Bandung');
// second select field
$('#style').val('System');
现在是第二部分,请在js文件或document的末尾调用触发器更改函数。准备好了,这将应用您的函数并给出预期的行为。您只需要为一个字段调用它,因为这是两者的通用处理程序。
// on load trigger change
$('#preference').trigger('change');
这是您的零钱的分叉:https://jsfiddle.net/s213zdqr/