2014-11-02 101 views
1

我无法尝试让简单的javascript与jQuery UI一起工作。我正在使用jQuery UI为一组表单输入元素提供自动完成功能,并且虽然工作令人满意,但我没有编写JavaScript代码。奇怪的是,当我评论所有的jQuery UI的东西,只是尝试运行我的JavaScript,一切正常!Javascript不能与jQuery UI一起使用

在jQuery UI代码库中是否有东西覆盖了我使用自定义JavaScript函数的能力?

这里是运行我的自动完成的脚本。

<script> 

var fruits = ['Apples', 'Oranges', 'Bananas', 'Grapes']; 

$(function() { 
    $(".input-box").autocomplete({ 
     source: availableTags 
    }); 
    }); 


</script> 

因此,基本上,你可以看到,这段代码是输入一些元素(类输入框)上运行的自动完成和自动完成数据/列表项从阵列水果拍摄。

太棒了。这很好。

但是,现在我想要输入元素的值附加到数组果实失去焦点时。因此,基本上,您输入“Pineapples”,当您从输入框中移动焦点(使用onchange或其他事件触发器)时,“菠萝”会添加到数组水果中,并将在未来的自动完成列表中显示。

所以在每一个输入元素,我想补充onchange = "addValue(this.value)"

因此,该函数的代码是一样的东西

function addValue(value) { 

     fruits.push(value); 

} 

但它不工作。即使onchange = alert('Hi'),即基本的javascript东西不起作用。

我该怎么做?

编辑:http://jsfiddle.net/ddne4v42/

+0

你检查控制台任何错误? – RahulB 2014-11-02 06:59:28

+0

是的。控制台没有记录错误。 – 2014-11-02 07:00:55

+0

您的代码可能存在错误,导致其他代码无法运行。我建议你在jsFiddle中重现问题,这样我们就可以看到实际发生的情况并查看。你显然有一些基本的错误。 jQueryUI也是JavaScript,所以你不能说真的没有JavaScript在运行,只是没有你想要的JavaScript。 – jfriend00 2014-11-02 07:01:02

回答

-1

您需要通过jQuery的

附加事件

更新Working Fiddle您的onchange测试

Fiddle is with autoComplete souce update action

var fruits = ['Apples', 'Oranges']; 

$(function() { 
    $(".input-box").autocomplete({ 
     source: fruits 
    }).on("change", function() { 
     if(this.value&&fruits.indexOf(this.value)<0) fruits.push(this.value); 
     $(this).autocomplete("option","source",fruits); 
    }); 
}); 
+0

非常感谢! – 2014-11-02 09:00:14

+0

这工作得很好。 – 2014-11-02 09:05:53

相关问题