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