gpt4 book ai didi

javascript - 防止 select2 Dropdown 的 AutoTrigger 事件调用函数

转载 作者:行者123 更新时间:2023-11-29 21:33:13 24 4
gpt4 key购买 nike

编辑:

我的目标是当手动选择一个下拉菜单时,它只应该设置另一个下拉菜单的值,而不是在更改事件时调用它的方法

我有 2 个“select2”下拉菜单..

@*Dropdown 1*@

<div >
@Html.DropDownList(Model.DDL1, new SelectList(GetCmnlSection(), "Value", "Text", Model.DDL1),new { onchange = "DDL1Operation();" })
</div>

@*Dropdown 2*@

<div >
@Html.DropDownList(Model.DDL2, new SelectList(GetCmnlSection(), "Value", "Text", Model.DDL2),new { onchange = "DDL2Operation();" })
</div>



<script type="text/javascript">

$(function () {
var $ddl1 = $("select[name$=DDL1]");
$ddl1.select2();
var $ddl2 = $("select[name$=DDL2]");
$ddl2.select2();
}
</script >

Dropdown 1 更改事件调用 DDL1Operation() 方法设置 Dropdown 2 的值

function DDL1Operation() {

$("select[name$=DDL2]").val('abc').trigger("change");

});

我想达到什么目的

  1. 当“下拉菜单 2”手动更改时 --> 应调用 DDL2Operation()

  2. 当“Dropdown 2”因“Dropdown 1”更改而自动更改时 --> 不应调用 DDL2Operation()

我找不到很多关于“选择 2”下拉菜单的帖子。可以通过其他一些 JQuery 方法来完成吗?


更新

 @*City Dropdown*@

@Html.DropDownList(Model.chiefTownProp, new SelectList(GetchiefTown(), new { onchange = "PopualateFromCity();" })

@*Commune Dropdown*@
@Html.DropDownList(Model.communeProp, new SelectList(Getcommunes(), "Value", "Text", Model.communeId),new { onchange = "PopulateFromCommune();" })

及其作用

 function PopualateFromCity() {

$("select[name$=communeId]").val('1').trigger("change.select2");
}


function PopulateFromCommune() { alert('PopulateFromCommune');}

"trigger("change.select2")"也无助于停止 PopulateFromCommune 的 onchange 事件

最佳答案

Select2 不监听下拉列表中的自定义事件,但您可以使用 jQuery 的事件命名空间通过触发 change.select2 事件将触发器范围限制为 Select2。您必须相应地编辑函数DDL1Operation():

function DDL1Operation() {
$("select[name=DDL2]").val('abc').trigger('change.select2');
}

然后您需要使用 jquery 绑定(bind) onclick 处理程序:

$("select[name=DDL1]").change(function(){DDL1Operation()});
$("select[name=DDL2]").change(function(){DDL2Operation()});

并从 <select> 中删除 onclick 属性.NET 代码中的元素:

@*City Dropdown*@
@Html.DropDownList(Model.chiefTownProp, new SelectList(GetchiefTown())

@*Commune Dropdown*@
@Html.DropDownList(Model.communeProp, new SelectList(Getcommunes(), "Value", "Text", Model.communeId))

关于javascript - 防止 select2 Dropdown 的 AutoTrigger 事件调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35593246/

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