我有这个页面,上面有三个peson搜索。基本上它是一个文本框和按钮。当您单击按钮时,它将获取相关文本框中的文本,并应使用列表数据填充关联的结果。
<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>
所以我想要发生的是列表数据,以便在同一个人群中将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) {
});
});
Hmmmmmm。现在列表正在出现。显然不是我想要的,因为我没有从这个方法中填充。
所以看起来最接近的发现在get中不起作用?
任何人都知道为什么要修理?
答案 0 :(得分:2)
在$ .get里面有$(this)不会返回peopleresultsdiv。
所以,你可以在$ .get之外得到所需的div并将它放在一个变量中,然后在$ .get中使用它。