gpt4 book ai didi

javascript - 当 "unrelated"html select 元素没有选择任何选项时,如何退出 jQuery 事件?

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:42 24 4
gpt4 key购买 nike

如果特定的选择元素没有选择选项,我想退出复选框的更改 ([un]check) 事件。我在“就绪”函数开始时使用这段代码测试了 select 元素的值,没有选择任何内容:

var unitval = $('#unitsselect').val();
alert(unitval);

警报显示“null”,所以我尝试了这个:

$("#ckbx_produceusage").change(function () {
var unitval = $('#unitsselect').val();
if (unitval == null) {
return;
}
alert('from ckbx_produceusage change event');
});

尽管如此,它并没有通过告诉我存在 IIS 问题来开始解决方案 - 它甚至没有向我显示错误页面。但是,一旦我取消了空检查:

$("#ckbx_produceusage").change(function () {
var unitval = $('#unitsselect').val();
//if (unitval == null) {
// return;
//}
alert('from ckbx_produceusage change event');
});

...我看到有关选中相关复选框的警告。

那么当 select 元素还没有从中做出选择时,我该如何退出事件处理程序呢?

更新

我尝试了 Horacio Benitez 的建议:

$("#ckbx_produceusage").change(function () {
var unitval = $('#unitsselect').val();
if (unitval == -1) {
event.stopPropagation();
event.preventDefault();
};
alert('from ckbx_produceusage change event');
});

...但仍然看到警报。所以我又加了一个:

$("#ckbx_produceusage").change(function () {
var unitval = $('#unitsselect').val();
alert(unitval);
if (unitval == -1) {
event.stopPropagation();
event.preventDefault();
};
alert('from ckbx_produceusage change event');
});

...它是“null”(不是“-1”)

这是将选项添加到单位选择的代码:

<select class="form-control, dropdown" id="unitsselect" name="unitsselect">
<option disabled selected value="-1">Please choose a Unit</option>
@foreach (var field in units)
{
<option id="selItem_@(field.unit)" value="@field.unit">@field.unit</option>
}
</select>

页面显示时,“请选择一个单位”值为-1。但是选中“ckbx_produceusage”复选框会显示“null”,然后显示“来自 ckbx_produceusage 更改事件”

当未选择单元选择中的选项时,如何退出/返回复选框的更改事件?

最佳答案

您可以使用变量来跟踪用户是否更改了选择元素。

// If the change event occurs on the select element the user made a selection.
// Set a variable called unitSelectChanged to true if they do.

var unitSelectChanged = false;
$("#unitsselect").change(function(){
unitSelectChanged = true;
});

$("#ckbx_produceusage").change(function () {
// Exit from the handler if that variable is true
if (unitSelectChanged) {
return;
}
alert('from ckbx_produceusage change event');
});

关于javascript - 当 "unrelated"html select 元素没有选择任何选项时,如何退出 jQuery 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36776260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com