2012-07-04 29 views
0

我有這個頁面上有三個皮克斯搜索他們。基本上它是一個文本框和按鈕。當您單擊該按鈕時,它將採用相關文本框中的文本,並應使用列表數據填充相關結果。jquery多人在一個頁面上搜索爲什麼不會結果填充?

<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的嘗試得到這個工作是:

從GetPeople返回
$(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); 

    }); 

}); 

是基本清單數據,例如。

<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) { 


     }); 

    }); 

Hmmmmmm。現在列表正在出現。顯然不是我想要的,因爲我沒有從該方法填充。

所以它看起來最接近的發現不會在獲得內部工作?

任何人都知道爲什麼要如何解決?

回答

2

在$ .get中有$(this)不會返回peopleresultsdiv。

所以,你可以得到所需要的div之外$不用彷徨,它有一個變量,並使用在$不用彷徨

+0

大這解決了它! – AnonyMouse

相關問題