我几乎as愧地问..但似乎无法弄清楚这一点..

通常情况是这样的...

instance_name = $("#select-field").magicSuggest({
        valueField: 'id',
        displayField: 'title',
        maxSelection: 1
    });


我想使它像这样..所以我可以用它做一个功能...

options ={
           valueField: 'id',
           displayField: 'title',
           maxSelection: 1
         };

instance_name = $("#select-field").magicSuggest(options);


我试过了,没有错误,但是没有用。

摆弄:http://jsfiddle.net/B6Gtm/6/

最佳答案

您已将初始化放在一个函数中,在该函数中您已重新定义了变量options,因此它的作用域仅限于该函数,但尚未传递您的选项

options = {
    data: ['Paris', 'New York', 'Japan'],
    valueField: 'id',
    displayField: 'name',
    hideTrigger: true,
    maxSelection: 1
};
function doMe(options){

    var instance_name2 = $("#select-field2").magicSuggest(options);
}
doMe();


因此,您的两个示例绝不是相同的,如果可以的话,则可以正常工作。在此处通过使2相同来进行演示:http://jsfiddle.net/B6Gtm/7/

所以这有效:

options = {
    data: ['Paris', 'New York', 'Japan'],
    valueField: 'id',
    displayField: 'name',
    hideTrigger: true,
    maxSelection: 1
};
var instance_name2 = $("#select-field2").magicSuggest(options);


一样

options = {
    data: ['Paris', 'New York', 'Japan'],
    valueField: 'id',
    displayField: 'name',
    hideTrigger: true,
    maxSelection: 1
};
function doMe(options){

    var instance_name2 = $("#select-field2").magicSuggest(options);
}
doMe(options);

09-20 14:19