2013-03-27 72 views
2

我正在使用Chosen plugin作爲選擇框。我正在用ajax請求替換這兩個框。我希望複選框在預先填好時發出。我嘗試了一些,但失敗了。我讀了這個documentation並且無法完成。這是我閱讀文檔後所嘗試的內容。一旦ajax響應來了,我正在做這些事情。如何在頁面加載時將下拉(選擇)與選定值相結合。

var city = $('#hdnCity').val(); 
//**Ajax Request Goes and the response is here**// 
$('#searchParams').html(responseText); 
var value = $("#favCities1 option:contains("+city+")").attr('selected', 'selected'); 
$("#chzn-select").val(value).trigger("liszt:updated"); 

我無法做到這一點。幫手是可觀的。先謝謝你!!!

+0

可你也 – 2013-03-27 05:00:21

回答

4

問題是與最後一行:$("#chzn-select").val(value).trigger("liszt:updated");

你將不得不分開,因爲$("#chzn-select").val(value)只返回jQuery對象,而不是<select>元素。因此,Chosen無法接聽liszt:updated事件,因爲它只能聽取<select>

所以,你將不得不這樣做:

$("#chzn-select").val(city); 
$("#chzn-select").trigger("liszt:updated"); 

見工作示例:http://jsfiddle.net/amyamy86/qQCw8/

+0

分享Ajax請求對於你的小提琴,你分配坦賈武爾,選擇的值是欽奈。你注意到了嗎? – 2013-03-27 05:10:05

+0

@VigneshGopalakrishnan對不起,我分配了錯誤的變量,應該是:'$(「#chzn-select」)。val(city)' – sweetamylase 2013-03-27 05:11:00

+0

雖然不起作用。請檢查小提琴。我只是硬編碼了這個城市,儘管它沒能奏效。 – 2013-03-27 05:14:14

3

在沒有任何進一步的信息,我想這是你如何處理Ajax效應初探問題

searchParams應該更新用了ajax成功回調中發生

var city = $('#hdnCity').val(); 

$.ajax({ 
    url: '', 
    ... 
}).done(function(responseText){ 
    //**Ajax Request Goes and the response is here**// 
    $('#searchParams').html(responseText); 
    var value = $("#favCities1 option:contains("+city+")").attr('selected', 'selected').val(); 
    $("#chzn-select").val(value).trigger("liszt:updated"); 
}) 
+0

我感謝你的努力Mr. John P Johny。它也適用於我。 – 2013-03-27 05:23:14

相關問題