2014-11-02 162 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

相關問題