0

这是它最基本的代码(我正在使用这个

$("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 相关选择代码?

我试过类似的东西

 $("form").relatedSelects({
            onChangeLoad: 'datasupplier.php',
                data: {action: "SEARCH_MEMBER_DETAILS"},
            selects: ['stateID', 'countyID', 'townID', 'villageID']
        });

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

4

2 回答 2

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'
    }
});

演示:小提琴

于 2013-03-07T08:56:49.223 回答
0

我已经浏览了插件的文档,似乎没有办法实现你所需要的。

如果您不想扩展插件并自己实现功能,可以尝试通过在 onChangeLoad 中创建参数并将它们作为 GET 参数传递,如下所示:

$("form").relatedSelects({
        onChangeLoad: 'datasupplier.php?myparams='+$("myparams").val()+'&action=SEARCH_MEMBER_DETAILS',
       selects: ['stateID', 'countyID', 'townID', 'villageID']

});
于 2013-03-07T08:26:50.503 回答