jquery autocomplete:添加额外参数

时间:2015-05-08 05:26:06

标签: javascript jquery

所以我有一个名为Category的下拉列表和一个包含2列语言和名称的表。

类别将确定范围(书籍,杂志等) 语言也是一个带有固定值列表的下拉列表(英语,西班牙语等)

现在我需要使用全局类别以及行的语言

来自动填充Name的值。
<tr>
    <td>
        <select name="Row.Language"></select>
    </td>
    <td>
        <textarea name="Row.Name"></textarea>
    </td>
<tr>

到目前为止我尝试过:

$('select[name="Row.Language"]').change(function () {
    getNameAutoComplete($(this).parent().parent());
});

function getNameAutoComplete(row) {
    var lang = $(row).find("select[name='Row.Language']").val();
    console.log("Outer: lang = " + lang);
    $(row).find('textarea[name="Row.Name"]').autocomplete({
        source: function (request, callback) {
            var cat = $("#ddlCategory").val();
            console.log("Inner: lang = " + lang);
            encodeddata = { category: cat, language: lang, term: request.term };
            $.ajax({
                type: "POST",
                url: getNameAutoCompleteListActionUrl,
                dataType: 'json',
                data: encodeddata,
                beforeSend: function (jqXHR, settings) {
                    $("#loadingAnim").show();
                },
                complete: function (jqXHR, textStatus) {
                    $("#loadingAnim").hide();
                },
                success: function (data, textStatus, jqXHR) {
                    callback(data);
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    callback();
                }
            });
        }
     });
}

您可能已经注意到,这不起作用。 内部lang始终为空,而外部lang具有正确的选定值。

感谢你们能否就如何实现这一点给我一些建议。

====

添加了jsfiddle http://jsfiddle.net/harryt/mdktg4mt/1/

奇怪的是,它适用于jsfiddle!虽然如果你仔细观察,lang

内的source: function (request, callback)上面的jsfiddle url未定义(黑色而不是蓝色)

0 个答案:

没有答案