从中获取动态变量

时间:2014-05-11 01:39:49

标签: javascript jquery variables dynamic this

我搜索过高和低,找不到问题的答案。我有一个Ajax函数,可以获取数据并将其插入我的lisboxes。我可以为每个人做一个函数但是想减少代码,因为我很可能需要对其他列表框做请求。代码如下:

    function getSelectListAjax(getController, getAction, selectToAppendId, idColName, txtColName) {
    var JPath = '../' + getAction;
    $.getJSON(JPath, function (result) {
        var val = idColName;
        var txt = txtColName;
        var ddl = $('#' + selectToAppendId);
        ddl.empty();
        $(result).each(function () {
            ddl.append(
                $('<option/>', {
                    value: this.QuestionId,
                    text: this.Question
                }).html(this.Nome)
            );
        });
    });
};

它附加到值:文字的位置我希望变量从 this。中取出是动态的。所以它可能是 this.QuestionId this.SectionId 等。

如果有人可以帮助或向我发送正确的方向,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

在JavaScript this.QuestionId中类似于通过this['QuestionId']访问它。

因此,要使用valtxt变量动态访问它,请使用this[val]this[txt]

有关详细信息,请阅读点表示法与括号表示法:"Working with Objects."