2013-03-21 31 views
1

我想讓自己有點jQuery插件基於jQueryUI的自動完成,因爲我有很多不同的自動填充字段,我想對待不同。輸入元素顯示的東西比它有價值

雖然我的插件的其他部分工作正常,但它做了一件我不明白的事情。 儘管該ONSELECT功能明確規定了這一點:

box.val(ui.item.nazev); // item name 
boxID.val(ui.item.value); 

,我可以通過上市後其價值一直在做了這些元素,用戶箱體構件以某種方式顯示ui.item.value

我試圖確認我能想到的每一種可能性,他們都沒有工作......我非常絕望。

插件這裏包括:http://jsfiddle.net/meridius/AVA6M/


編輯:

OK,它的快速和骯髒的,但我設法使它在jsfiddle.net工作,沒有AJAX。這並不完美(結果不會像輸入那樣過濾),但是當您選擇某個結果時,您可以看到我的意思。

+0

你調試了你的腳本嗎?有些F12可以給你答案。 – daniloquio 2013-03-21 13:23:22

+0

F12是什麼意思?我使用Web控制檯和Firebug,他們都沒有告訴我任何錯誤。 – meridius 2013-03-21 13:34:26

+0

對於F12我的意思是,Firebug在Firefox的情況下。你應該使用firebug來調試你的腳本並且分析box元素值改變的確切時刻。在這裏,您向我們提供了大量的信息,並且幫助您解決問題需要很多工作,因爲小提琴不起作用。除非你編輯你的帖子縮小了代碼方面的問題,否則你不太可能得到一些答案。 – daniloquio 2013-03-21 13:49:22

回答

1

enter image description here

使用Chrome(F12)來調試你的小提琴,我發現你的問題在線路線2257ØjQuery的1.9.1.js。這是事件傳播的問題,所以下面的代碼應該可以解決你的問題。

select: function (event, ui) { 
      o.onSelect(event, ui, box, boxID); 
      return false; //This line stops event propagation solving the problem. 
}, 

注意:有關如何停止事件傳播的詳細信息,請參閱此文章。 event.preventDefault() vs. return false

+0

謝謝,解決了我的問題。也感謝您的鏈接。 順便說一句,我已經在原代碼中返回false(現在是onSelect的最後一行),我只是在「pluginifacion」期間移動它。奇怪的是,它不會影響select:event,同時它也會返回false。 – meridius 2013-03-21 17:46:17

+0

很高興我有幫助:)找到問題的方法是在onSelect函數中放置一個斷點,並從那裏繼續按F11(調試時轉到下一步)。 – daniloquio 2013-03-22 15:05:37