首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与if / onChange语句一起使用onChange?

如何与if / onChange语句一起使用onChange?
EN

Stack Overflow用户
提问于 2016-11-21 09:50:42
回答 2查看 10.8K关注 0票数 2

我在运行javascript时遇到了问题,因为它已经兑现。

示例

代码语言:javascript
复制
//Init onClick event
$(document).on('click', '.select', function(){
    //Check if select has value
    if( $(this).val() ){
        console.log( $(this).val() )
    } else {
        console.log('no value')

        $(this).on('change', function(){
            console.log('Changed!')
        }
    }
}

问题

现在考虑一下我有一个选择。从开始,该值为空,该选项被禁用。第一次单击select时,控制台将记录“无值”。

单击并将选项/值更改为列表中的内容。

第二次单击select时,会选择一个选项,并且它有一个值。控制台现在将记录“值”,但也会记录“已更改”。

我想这是因为我以前运行了else语句,onChange函数在我的浏览器或类似的东西中兑现了.

我怎样才能防止这种事发生..。或者我应该如何编写代码呢?

我需要检查是否从一开始就选择了一个值。我需要使用onChange函数.

更新

单击select时,我想知道select是否有选定的值。(要知道是更改/编辑值还是第一次选择值),这就是为什么我有一个onClick函数。在这里,我检查价值。

在您单击并检查了该值之后,我希望触发一个onChange函数。这将用于编辑路径..。或者新路线..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-21 09:53:54

您应该只在select上添加"change“事件。对select元素的操作必须根据它的状态更改W.r.tIt的选项来完成

代码语言:javascript
复制
 var pervious;
 //Init onClick event
$(document).on('focus','.select', function () {
    // Store the current value on focus and on change
    previous = this.value;
}).
on('change', '.select', function(){
    //Check if select has value
    if( $(this).val() ){
      console.log( $(this).val() );
      previous = this.value;
    }
    else{
      console.log('no value')
      // YOUR choice, reset it i.e. previous = null;
    }
});
票数 3
EN

Stack Overflow用户

发布于 2016-11-21 10:16:44

我在代码中看到的主要问题是,您将change侦听器绑定到click侦听器中,因此每次您click绑定另一个change事件时,都会给您带来一个已兑现的onchange函数的概念。将您的更改函数移到单击之外,正确地委派它。类似于:

代码语言:javascript
复制
$(document).on('click', '.select', function(){
    //Check if select has value
    if( $(this).val() ){
        console.log( $(this).val() )
    } else {
        console.log('no value')
    }
})
$(document).on('change', '.select', function(){
    console.log('Changed!')
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40717222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档