-1
我試圖在成功的xhrHttpRequest時單擊按鈕的同一個parentDiv中更新divToUpdate的值。我已經過了這個對象作爲參數傳遞給發送該xhrHttpRequest的功能,但我無法更新DIV:divToUpdate如何在xhrHttpRequest中使用「this」正確更新div
<div class="parentDiv" >
<div class="divToUpdate" style="display:none"></div>
<div class="btn-group">
<button class="button" type="button" >Update</button>
</div>
</div>
<div class="parentDiv" >
<div class="divToUpdate" style="display:none"></div>
<div class="btn-group">
<button class="button" type="button">Update</button>
</div>
</div>
JS代碼(最小的示例代碼)
$(function()
{
function bindKeyPress()
{
$(document).keyup(function(event) {
switch(event.which) {
case 37: // left
//do something
break;
case 38: // up
send(url,data,this);
break;
}
});
}
});
function send (url,data,this)
{
var xhr = new XMLHttpRequest();
var instance = this;
xhr.open('POST', url, true);
xhr.onreadystatechange = function()
{
if (xhr.readyState === 4 && xhr.status === 200)
{
var text = xhr.responseText;
var jsonResponse = JSON.parse(text);
var filename = jsonResponse.filename;
$(instance).closest('.parentDiv').children('.divToUpdate').text(filename);
}
}
xhr.send(data);
}
我怎樣才能更新與點擊按鈕相對應的正確div?
''this''是對'document'的引用,因爲這就是您的情況。你可能想使用'event.target' – Adam