美好的一天,
我有一个drop down list
,其中有一个onchange函数调用updateView()
。 jsp
代码如下:
<s:select name="accountDateRange" onchange="updateView();" id="function" >
但是,不仅有使用此功能的
drop down list
。其他功能可能会调用updateView()
继续。当用户在此
onchange
上执行drop down list
时,我需要运行一些代码,但是我不希望在其他函数调用updateView()
时运行此代码。以下是
updateView()
的代码的一部分:function updateView() {
// some other code here
// here is the code that I only want to run during onchange
$("#fromDate").val("");
// some other code here
}
我尝试在下拉菜单中放入
onclick
函数,在此onclick
函数中,我将变量设置为true。这样我就可以在运行
$("#fromDate").val("");
之前使用此变量进行检查,例如:if (onchangeOnly = true){
$("#fromDate").val("");
}
但是,我发现
onchange
将首先与onclick
比较运行。有什么办法或想法吗?好心提醒。
编辑:
function updateView() {
// some other code here
if ($("#function").val() == "TODAY") {
// some other code here..
}
else if ($("#function").val() == "DATERANGE") {
// here is the code that I only want to run during onchange
$('[name="accountDateRange"]').on('change',function(){
alert('this is specific to this dropdown only');
});
}
// some other code here
}
我发现,即使我的
$("#function").val()
不等于“ DATERANGE”,它也会打印出alert('this is specific to this dropdown only')
。请指出我的错误。 最佳答案
您可以为同一个事件添加多个处理程序,这意味着您可以离开现有函数并编写一个新函数,然后将该函数添加到下拉列表中,以便触发updateView()
的其他机制不受影响。
$('[name="accountDateRange"]').on('change',function(){
alert('this is specific to this dropdown only');
})
关于javascript - JavaScript或Jquery中的onchange(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24822833/