Javascript 将函数参数值传递给该函数内部的函数
我有这个脚本,它工作良好,但我希望它移动到共同的js文件Javascript 将函数参数值传递给该函数内部的函数,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有这个脚本,它工作良好,但我希望它移动到共同的js文件 function commonSelect2(selector,url,id,text){ selector.select2({ minimumInputLength:1, placeholder:"Select Parent Menu", ajax: { type:"post", url: url, dataT
function commonSelect2(selector,url,id,text){
selector.select2({
minimumInputLength:1,
placeholder:"Select Parent Menu",
ajax: {
type:"post",
url: url,
dataType: 'json',
quietMillis: 100,
data: function(term, page) {
return {
term: term, //search term
page_limit: 10 // page size
};
},
results: function(data, page ) {
var newData = [];
$.each(data, function (index,value) {
newData.push({
id: value.id, //id part present in data
text: value.text //string to be displayed
});
});
return { results: newData };
}
}
});
}
除了id
和text
参数的部分之外,大部分都是这样做的
下面是我发送参数的方式
var selector = $('#selectParentMenu');
var url = "{{base_url()}}admin/configurations/loadAllParentFormNames/";
var id = "FormID";
var text = "FormName";
commonSelect2(selector,url,id,text);
问题是
id: value.id, //id part present in data
text: value.text //string to be displayed
value.id
和value.text
无法识别id
和text
是参数
如果我真的喜欢这个,它会起作用的
id: value.FormID, //id part present in data
text: value.FormName //string to be displayed
但是,如果我放置了包含这些值的参数,则这些参数不起作用。您的
id
和text
参数是字符串,其中包含您试图在值
对象中访问的属性的名称。要像那样动态访问属性,需要value[id]
语法。试试value[id]
和value[text]
@grin0048 OMG,我想这可能是不可能的。我想知道你们有多好。。非常感谢,它起作用了。。如果可能的话,请解释为什么它的工作方式类似于阵列形式,而不是预期的方式value.FormID
工作正常,但当将FormID
的值赋给变量text
时,我现在不得不使用like数组。我可以知道什么改变了吗?起初我不明白,这个问题进一步解释了它,现在我明白了。问题解决了,但我还是不明白。那么为什么value.FormID
和value.FormName
有效呢。似乎javascript/jQuery不容易学。请这样想<代码>值。FormID与值['FormID']
相同value.id
与value['id']
相同。。。这就是它不起作用的原因,它正在寻找一个名为id
的属性。