嗨,我是 ajax 新手,我有一個來自 django 的 json 回應,其中包含要顯示為按鈕串列的名稱串列。我想在單擊后禁用該按鈕。
下面是我目前撰寫的html代碼,按鈕顯示成功,但沒有執行禁用按鈕操作。
我還想問一下這個onclick函式的作用域是什么?函式是否在大括號的末尾消失}?或者這個函式是否會檢查它是否超出范圍?
<h3>User List:</h3>
<ul id="userLists"> </ul>
$(document).ready(function(){
$.ajax({
type:"GET",
// getUserList is a django views where it query the database and returns JsonResponse of the user's name
url: "{% url 'getUserList' %}",
success: function(response){
$("#userLists").empty();
// Create a list according to number of users in json
for (var key in response.users){
var temp="<button type=\"button\", name=\"" response.users[key].user "\", class=\"btn btn-outline-danger\">" response.users[key].user "</button>";
$("#userLists").append(temp);
// Here I want to do when clicked, it disables the button and leave others as is.
// Current implementation does not work...
document.getElementsByName(response.users[key].user).onclick =
function(){document.getElementsByName(response.users[key].user).prop('disabled', true)};
};
}
});
})
我也嘗試了以下實作,它不起作用......
if(document.getElementsByName(response.user[key].user).clicked == true){
document.getElementsByName(response.user[key].user).prop("disabled", true);
};
謝謝大家。
uj5u.com熱心網友回復:
getElementsByName回傳一個節點串列...所以是匹配元素的集合。
這就是為什么.onclick并且.prop("disabled", true)沒有效果。
如果response.users[key].user要獨一無二,您可以安全地使用document.getElementsByName(response.user[key].user)[0].
所以添加[0]到第一場比賽。
關于引號混淆,您可能有興趣閱讀有關模板文字的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/434806.html
標籤:javascript 阿贾克斯
上一篇:無法在Razor頁面中使用WYSIWYG編輯器發布TextArea值
下一篇:主機上不同圖片消失
