2013-03-27 70 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

相关问题