У меня есть поле:
<span>Color Set By</span>
<select class="full select" id="mapcolor">
<option value =1 selected >Difference in Final Price</option>
<option value =2 >Difference in Regular Price</option>
<option value =3 >Difference in Final Price/Shipping</option>
</select>
но когда значение параметра, переданное другой функцией, есть, скажем, 2, мне нужно изменить, чтобы изменить выбор. а также отменить выбор предыдущего. его и выпадающего меню. мой код правильный для этого:
var mapid=getPresetFilters(mapcolor);
if(mapid!==$('select#mapcolor').val()) {
$("#mapcolor option[value=mapid]").attr("selected", "selected");
}
Вы можете использовать .val() для установки выбранного значения элемента select
$('#mapcolor').val(mapid);
Демо: скрипка
В вашем случае mapid
- это переменная, содержащая требуемое значение элемента select, вам ваш код должен был быть
$('#mapcolor option[value="' + mapid + '"]').prop("selected", true);
Демо: скрипка
$('#mapcolor').val(mapid)
... нет необходимости дляif
или настройки, выбранной в опции