我将<select id="country" ...>
根据它们的价值过滤一些国家。我在 jQuery 中尝试过 grep 和 filter 但没有成功。仅对于一个元素它工作正常。我不知道如何在 jQuery 中制作正确的数组。
jQuery.noConflict();
function change_country(seldd) {
var look_for_id=''; var opt_id=[];
jQuery('#countries').html("");
jQuery("#countries").append("<option value='0'>-Country-</option>");
if(seldd.value=='0') { look_for_id='N'; }
if(seldd.value=='1'){ look_for_id='Y'; opt_id=jQuery.filter($("#country option").val(["1, 2, 3, 4"])); }
if(seldd.value=='2'){ look_for_id='Y'; opt_id=jQuery.grep(['5', '6', '7', '8']); }
if(look_for_id=='Y') {
jQuery("#country option[value='"+opt_id+"']").each(function() {
jQuery("#countries").append("<option value='"+jQuery(this).val()+"'>"+jQuery(this).text()+"</option>");
});
} else {
jQuery("#country option").each(function() {
jQuery("#countries").append("<option value='"+jQuery(this).val()+"'>"+jQuery(this).text()+"</option>");
});
}
}
<div>
<select id="region" id="srv_type" onchange="change_fruit(this)" >
<option value="0" selected="selected">Регион</option>
<option value="1">Asia</option>
<option value="2">Europe</option>
</select> </div>
<div style="display:none;" >
<select id="country" name="country" class="inputbox">
<option value="" selected="selected">Страна</option>
<option value="1" >Indonesia</option>
<option value="2">Thailand</option>
<option value="3">Singapore</option>
<option value="4">Malaysia</option>
<option value="5">Greece</option>
<option value="6">Italy</option>
<option value="7">Monaco</option>
<option value="8">Spain</option>
</select>
</div>
<select name="countries" id="countries">
<option value="0">-Country-</option>
</select>