javascript中的数字字符串值比较问题



我正在尝试检查是否从javascript的下拉列表中选择了某个选项。当用户在下拉列表中选择一个项目时,将触发以下更改事件功能。该值是包含空字符串"的字符串"或者诸如"0"之类的数值;0"1〃"2〃"3〃;,等

function (event, value) {
if (value >=0)
{
// Do some stuff here
}
});

如果从下拉列表中选择了一个项目(值>=0但不为空(,我想执行一些代码。在上面的代码片段中,无论值是否为空,条件体都将始终执行。它不起作用。

检查即将到来的值是否是数字(而不是空字符串(的最佳方法是什么?如果是,则检查该值是否大于0?

预期结果为:

  • 值=="&quot->条件主体不应执行

  • value!="quot;并且值>=0->应执行条件正文。

您需要通过事件侦听器目标上的selectedIndex属性从下拉列表中获取所选选项。然后,您需要获得选项的值,以便能够对其进行比较。请参阅下面的代码。

document.getElementById('numbers').addEventListener('change', e => {
let target = e.currentTarget;
let value = target.options[target.selectedIndex].value;
if(value > 0) {
alert("bigger than 0");
}
});
<label for="numbers">Please select a number</label>
<select id="numbers">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

最新更新