Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery自动完成:添加额外参数_Javascript_Jquery - Fatal编程技术网

Javascript jquery自动完成:添加额外参数

Javascript jquery自动完成:添加额外参数,javascript,jquery,Javascript,Jquery,所以我有一个名为Category的下拉列表,还有一个包含两列Language和Name的表 类别将决定范围(书籍、杂志等) 语言也是一个下拉列表,包含固定的值列表(英语、西班牙语等) 现在,我需要通过全局类别及其行的语言来自动完成Name的值和源范围 <tr> <td> <select name="Row.Language"></select> </td> <td> &

所以我有一个名为Category的下拉列表,还有一个包含两列Language和Name的表

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

现在,我需要通过全局类别及其行的语言来自动完成Name的值和源范围

<tr>
    <td>
        <select name="Row.Language"></select>
    </td>
    <td>
        <textarea name="Row.Name"></textarea>
    </td>
<tr>
正如你可能已经注意到的,这不起作用。 内部
lang
始终为空,而外部
lang
具有正确的选定值

如果你们能给我一些建议,我将不胜感激

====

添加了jsfiddle


奇怪的是,它在JSFIDLE上工作!尽管仔细观察,上面的JSFIDLE url,
lang
source:function(request,callback)

中没有定义(黑色而不是蓝色)尝试将lang定义为
GetVanillaUnderlineingAutoComplete
之外的全局变量,但是会有很多行,我如何映射哪一行使用哪一个全局语言?你能设置一个提琴吗?在帖子中添加了提琴
$('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();
                }
            });
        }
     });
}