我的目标是:
- 如果我键入一个大于 60 的值,那么我想要选项“Long” 被选中。
- 如果我输入的值小于 60,那么我希望选择“短”选项。
在 jQuery 的帮助下,我希望在给定字段“值”的情况下自动更改“结果”
我有一个表单,包含一个输入整数字段,id 为“value”,表单有一个 option 字段,id 为“result”。
下面是我的尝试,但它不起作用。
感谢您的输入。
var value = $('#value');
$(value).change(function() {
debugger;
if (Number($(this).val()) > 60) {
$('#result').prop('value') = "Long";
}
if (Number($(this).val()) < 60) {
$('#result').prop('value') = "Short";
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="value" class="col-form-label col-sm-4">Value</label>
<div class="col-sm-7"> <input type="number" name="value" class="numberinput form-control" id="value"> </div>
</div>
<div><i>Result:</i></div>
<div id="result" class="form-group row">
<div class="col-sm-12">
<select name="result" class="select2 form-control" style="width: 100%;" id="result">
<option value="Long">Long</option>
<option value="Short">Short</option>
最佳答案
您可以使用 .val(....)
设置所选值.
var value = $('#value');
$(value).change(function() {
debugger;
if (Number($(this).val()) > 60) {
$('select').val("Long");
}
if (Number($(this).val()) < 60) {
$('select').val("Short");
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="value" class="col-form-label col-sm-4">Value</label>
<div class="col-sm-7"> <input type="number" name="value" class="numberinput form-control" id="value"> </div>
</div>
<div><i>Result:</i></div>
<div id="result" class="form-group row">
<div class="col-sm-12">
<select name="result" class="select2 form-control" style="width: 100%;" id="result">
<option value="Long">Long</option>
<option value="Short">Short</option>
除此之外,您在 HTML 中有一些问题,您多次使用相同的 ID ( result
)。 ID 应该是唯一的。
如@Archer 所述,如果值为 60
,则两个当前条件都不匹配, 你需要做一个 >=
或 <=
比较以说明这些情况。
关于javascript - jQuery:if语句来选择一个选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58463469/