jQuery Related选择传递附加参数

时间:2013-03-07 08:13:53

标签: php jquery ajax

这是最基本的代码(我正在使用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']
        });

但似乎没有发送额外的参数

2 个答案:

答案 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']

});