Как сделать так, чтоб при смене radio, сохранялось то значение в select, которое было выбрано ранее. Например, если Ширина выбрана 150 у radio с "Нет", то при выборе radio с "1 сторона", выводило в select такую же Ширину 150.
И если выбран такой radio, у которого нет одинаковых значений с другим radio, то подбиралась похожее. Например, если Ширина выбрана 170 у radio с "Нет", то при выборе radio с "1 сторона", выводило Ширину 150.
<div class="print_bag">
<label>
<input class="radio_g" type="radio" name="field2" value="0">
<p>Нет</p>
</label>
<label>
<input class="radio_g" type="radio" name="field2" value="1">
<p>1 сторона</p>
</label>
</div>
<div class="fourth_param" title="Выберите размеры для изделия">
<div class="settings">
<label>
<h1>Высота, мм</h1>
<select id="param_0">
</select>
</label>
<label>
<h1>Ширина, мм</h1>
<select id="param_1">
</select>
</label>
<label>
<h1>Боковина, мм</h1>
<select id="param_2">
</select>
</label>
<label>
<h1>Дно, мм</h1>
<select id="param_3">
</select>
</label>
<label>
<h1>Длина ручки, мм</h1>
<select id="param_4">
</select>
</label>
<label>
<h1>Плотность, г/м2</h1>
<select id="param_5">
</select>
</label>
</div>
<hr>
</div>
jquery
let text = [
{
bag_print: "NONE",
bag_height: "NONE",
bag_width: "NONE",
bag_sidewall: "",
bag_bottom: "",
bag_hangle_length: "NONE",
bag_density: "NONE",
},
];
$('input[name="field2"]').on("click", function() {
text[0].bag_print = $(this).next("p").text();
text[0].bag_print = text[0].bag_print[0].replace(/\s+/g, " ").trim();
console.log(text[0].bag_print)
//БЕЗ ПЕЧАТИ
if (text[0].bag_print == "Н") {
height = [];
width = [];
bottom = [];
sidewall = [];
hangle_length = [];
density = [];
for (let i = 200; i <= 580; i += 10) {
height.push(i);
}
$("#param_0").empty();
$.each(height, function(key, value) {
$("#param_0").append($("<option></option>").attr("value", key).text(value));
});
for (let i = 100; i <= 800; i += 10) {
width.push(i);
}
$("#param_1").empty();
$.each(width, function(key, value) {
$("#param_1").append($("<option></option>").attr("value", key).text(value));
});
$("#param_3").empty();
$("#param_2").empty();
$("#param_4").empty();
for (let i = 40; i <= 120; i += 5) {
density.push(i);
}
$("#param_5").empty();
$.each(density, function(key, value) {
$("#param_5").append($("<option></option>").attr("value", key).text(value));
});
text[0].bag_height = $("#param_0 option:selected").text();
text[0].bag_width = $("#param_1 option:selected").text();
text[0].bag_sidewall = "";
text[0].bag_bottom = "";
text[0].bag_hangle_length = "";
text[0].bag_density = $("#param_5 option:selected").text();
}
//С ПЕЧАТЬЮ
else if (text[0].bag_print == "1") {
height = [];
width = [
100,
150,
200,
225,
250,
300,
350,
400,
450,
500,
550,
600,
700,
];
sidewall = [];
bottom = [];
hangle_length = [];
density = [];
for (let i = 200; i <= 580; i += 10) {
height.push(i);
}
$("#param_0").empty();
$.each(height, function(key, value) {
$("#param_0").append($("<option></option>").attr("value", key).text(value));
});
$("#param_1").empty();
$.each(width, function(key, value) {
$("#param_1").append($("<option></option>").attr("value", key).text(value));
});
$("#param_3").empty();
$("#param_2").empty();
$("#param_4").empty();
for (let i = 40; i <= 120; i += 5) {
density.push(i);
}
$("#param_5").empty();
$.each(density, function(key, value) {
$("#param_5").append($("<option></option>").attr("value", key).text(value));
});
text[0].bag_height = $("#param_0 option:selected").text();
text[0].bag_width = $("#param_1 option:selected").text();
text[0].bag_sidewall = "";
text[0].bag_bottom = "";
text[0].bag_hangle_length = "";
text[0].bag_density = $("#param_5 option:selected").text();
}
})
Чтоб нагляднее было
https://jsfiddle.net/xgbqvp97/1/