这是最基本的代码(我正在使用this)
$("form").relatedSelects({
onChangeLoad: 'datasupplier.php',
selects: ['stateID', 'countyID', 'townID', 'villageID']
});
由于某种原因,我需要传递几个参数。我通常的ajax代码是这样的
$.post("ajax/template.php", {myparams: $("#myparams").val(), action: "SEARCH_MEMBER_DETAILS" },
function (data){
var returnCode = data.returnCode;
if (returnCode == "1"){
$("#data").val(data.name);
}
},"json");
问题是,如何将类似myparams和action的参数发送到jQuery Related Selects代码?
我试过像
这样的东西 $("form").relatedSelects({
onChangeLoad: 'datasupplier.php',
data: {action: "SEARCH_MEMBER_DETAILS"},
selects: ['stateID', 'countyID', 'townID', 'villageID']
});
但似乎没有发送额外的参数
答案 0 :(得分:1)
relatedScripts插件不提供任何操作ajax请求的工具。
但是可以稍微改变它以达到要求。
如果您准备在插件中进行更改,请执行以下步骤
在插件的populate($caller,$select,o)
方法中进行以下更改
beforeSend: function(){
return o.onLoadingStart.apply($select, Array.prototype.slice.call(arguments,0));
},
现在是beforeSend: function(){ o.onLoadingStart.call($select); },
然后更改您的脚本
$("#example-2").relatedSelects({
onChangeLoad : 'datasupplier.php',
loadingMessage : 'Please wait',
selects : ['stateID', 'countyID', 'townID', 'villageID'],
onLoadingStart : function(jqxhr, settings) {
console.log('st', arguments, settings.url);
settings.url += '&t=tttt'
}
});
演示:Fiddle
答案 1 :(得分:0)
我已经浏览了该插件的文档,似乎没有办法实现您的需求。
如果您不想自己扩展插件并实现功能,可以尝试在onChangeLoad中创建参数并将它们作为GET参数传递,如下所示:
$("form").relatedSelects({
onChangeLoad: 'datasupplier.php?myparams='+$("myparams").val()+'&action=SEARCH_MEMBER_DETAILS',
selects: ['stateID', 'countyID', 'townID', 'villageID']
});