このページには 3 つの個人検索が含まれています。基本的にはテキストボックスとボタンです。ボタンをクリックすると、関連するテキスト ボックス内のテキストが取得され、関連する結果にリスト データが入力されます。
<div class="personcontainer">
<div class="peoplesearchdiv" >
<input type="text" class="searchpersontxtbox" />
<input type="button" value="Find" class="findpersonbtn" />
<div class="peopleresultsdiv"></div>
</div>
<input type="hidden" class="personguid" />
<div class="personcontainer">
<div class="peoplesearchdiv" >
<input type="text" class="searchpersontxtbox" />
<input type="button" value="Find" class="findpersonbtn" />
<div class="peopleresultsdiv"></div>
</div>
<input type="hidden" class="personguid" />
<div class="personcontainer">
<div class="peoplesearchdiv" >
<input type="text" class="searchpersontxtbox" />
<input type="button" value="Find" class="findpersonbtn" />
<div class="peopleresultsdiv"></div>
</div>
<input type="hidden" class="personguid" />
さて、これを機能させるための jquery は次のとおりです。
$(document).ready(function () {
$('.findpersonbtn').click(function () {
var query = $(this).closest('.personcontainer').find('.searchpersontxtbox').val();
$.get('/People/GetPeople/', { 'query': query }, function (data) {
$(this).closest('.peoplesearchdiv').find('.peopleresultsdiv').html(data);
});
});
GetPeople から返されるのは、基本的なリスト データです。
<ul>
<li>Cat</li>
<li>Dog</li>
</ul>
だから私が望んでいたのは、同じpersonscontainer内のpeopleresultsdivにhtmlを入力するためのリストデータでした。
しかし、うまくいきません。
GetPeople メソッドであることを排除するために、jquery を次のように変更しました。
$(document).ready(function () {
$('.findpersonbtn').click(function () {
var query = $(this).closest('.personcontainer').find('.searchpersontxtbox').val();
$.get('/People/GetPeople/', { 'query': query }, function (data) {
$(this).closest('.peoplesearchdiv').find('.peopleresultsdiv').html("<ul><li>Cat</li><li>Dog</li></ul>");
});
});
それでもうまくいきません。
だから私は試しました:
$(document).ready(function () {
$('.findpersonbtn').click(function () {
var query = $(this).closest('.personcontainer').find('.searchpersontxtbox').val();
$(this).closest('.peoplesearchdiv').find('.peopleresultsdiv').html("<ul><li>Cat</li><li>Dog</li></ul>");
$.get('/People/GetPeople/', { 'query': query }, function (data) {
});
});
ふむふむ。これでリストが表示されます。メソッドからデータを取り込むことができないため、明らかに私が望むものではありません。
だから、最も近い検索は get 内で機能しないように見えますか?
なぜ修正するのか知っている人はいますか?