所以我有一个名为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未定义(黑色而不是蓝色)