ページにいくつかの入力ボックスがあり、すべてオートコンプリート クラスがあり、それぞれの下に、オートコンプリートの結果を追加する div があります。ただし、クラスの div に追加するだけだとすると、最も近い div ではなく、最初の div だけが実行されます。これを修正するためにいくつかのJavaScriptをまとめようとしましたが、レンガの壁にぶつかり、同じエラーが発生し続けました. 提供できるヘルプをいただければ幸いです。
これが私のJavaScriptです:
<script type="text/javascript">
$(document).ready(function () {
var div_id;
$("input.autocomplete").autocomplete({
set: div_id = $(".autocomplete").keyup(function () {
$('.autocomplete').closest('div').find('.container').attr('id');
}),
appendTo: div_id,
source: function (request, response) {
$.ajax({
url: '/Home/GetUsers',
type: "POST",
dataType: "json",
data: { query: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item, value: item };
}));
}
});
}
});
})
</script>
ビューは次のようになります。
Employee Name (Team Leader): <input type ="text" name="empName1" class="autocomplete"/>
<div class ="container" id = "container0"></div>
<br/>
<br/>
Employee Name (Event Process Owner): <input type ="text" name="empName2" class="autocomplete"/>
<div class ="container" id = "container1"></div>
<br/>
<br/>
Employee Name (Sponsor): <input type ="text" name="sponsor" class="autocomplete"/>
<div class ="container" id = "container2"></div>
<br/>
<br/>
Employee Name: <input type ="text" name="empName3" class="autocomplete"/>
<div class ="container" id = "container3"></div>
<br/>
Employee Name: <input type ="text" name="empName4" class="autocomplete"/>
<div class ="container" id = "container4"></div>
<br/>
プロジェクトを開始しようとすると、「Microsoft JScript ランタイム エラー: メソッドまたはプロパティ アクセスへの予期しない呼び出し」というエラーが表示されます。このエラーが発生すると、jquery.min.js (1.8.3) でこれが強調表示されます。
this.appendChild(e)