我想在<select id="Widget1727491790">
中选择第一个选项,即“ 1”,即选择“ 250”。我想在第一个<select id="Widget1315144869">
标记中选择“ 250”时在第二个<select>
标记中显示“ 1”。
这样做时,我无法将第二个<select>
的值更改为“ 1”到“ 2”或“ 3”或任何其他值。它卡在值“ 1”,我无法进一步更改它。
请检查一下代码片段以更好地了解我的情况。
<select>
$(document).ready(function() {
$('#Widget1315144869 option[value=""]').text('Select Weight');
$('#Widget1727491790 option[value=""]').text('Select Quantity');
});
/* Quantity Auto Select - Dairy Products */
$(document).change(function() {
var sw = $('#Widget1315144869');
var sq = $('#Widget1727491790');
if ($(sw).val() > '1') {
$(sq).val('1');
} else {
$(sq).val('');
}
});
答案 0 :(得分:2)
问题是您使用的是$(document).change(function(){}),因此只要文档中发生某些更改,它将运行代码。同样,当您更改$('#Widget1727491790');
;
因此,当您在第二个select
中进行更改时,会将select
设置为1
,这就是为什么感觉它从未更改过的原因。
尝试使用:
$('#Widget1315144869').change(function() {
var sw = $(this).val();
var sq = $('#Widget1727491790');
if (sw > 1) {
$(sq).val('1');
} else
$(sq).val('');
});
演示
$(document).ready(function() {
$('#Widget1315144869 option[value=""]').text('Select Weight');
$('#Widget1727491790 option[value=""]').text('Select Quantity');
});
/* Quantity Auto Select - Dairy Products */
$('#Widget1315144869').change(function() {
var sw = $(this).val();
var sq = $('#Widget1727491790');
if (sw > 1) {
$(sq).val('1');
} else
$(sq).val('');
});
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<select class="form-control" id="Widget1315144869" name="entry.2091496022">
<option value="">- Choose -</option>
<option value="250">250</option>
<option value="500">500</option>
<option value="750">750</option>
<option value="1000">1000</option>
</select>
<select class="form-control" id="Widget1727491790" name="entry.1395838924">
<option value="">- Choose -</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>