在这个问题上整夜都在摸不着头脑。我还在学习Jquery,只是从ajax开始。我正在尝试实现类似于此https://codeontime.com/print/learn/rest/jquery/crud-create-read-update-delete的内容。
我有一个简单的编辑按钮,其中我将ID存储在data-ID属性中。例如,下面是我的按钮的样子。
<button class='edit_button btn btn-info btn-circle btn-xs' type='button' value='Edit' data-ID='1'></button>
我想要完成的是将数据ID值传递给变量并将其传递给我的函数。在这里,我设置了一个用于捕获ID及其工作正常的监听器:
$(document).ready(function () {
$(".edit_button").click(function() {
var Button_ID = $(this).attr("data-ID");
IncidentManager.showIncidentDetails();
});
我遇到的问题是我需要将button_ID变量onlick传递给我的变量函数,并且剂量似乎正常工作。我觉得我错过了一些东西。
以下是我的完整脚本:
var IncidentManager = {
// Returns the url of the application server of a demo web app.
basePath: function () { return '../../../../_vti_bin/listData.svc'; },
// This function will loadup the data into the modal form,
showIncidentDetails: function (Button_ID) {
if (Button_ID == null) return;
alert(Button_ID);
$.ajax({
url: '../../../../_vti_bin/listData.svc/GDI_Tableau_de_bord('+ID+')',
cache: false,
dataType: 'json',
success: function (data) {
$.each(data, function (index, incident) {
$('#Description').attr('value', incident.Description);
$('#Incident').attr('value', incident.Incident);
$('#état').attr('value', incident.ÉtatValue);
$('#Priorité').attr('value', incident.PrioritéValue);
$('#DateDeDébut').attr('value', incident.DateDeDébut);
$('#DateDeFin').attr('value', incident.DateDeFin);
});
}
});
},
};
$(document).ready(function () {
$(".edit_button").click(function() {
var Button_ID = $(this).attr("data-ID");
IncidentManager.showIncidentDetails();
});
});
感谢任何帮助。
答案 0 :(得分:2)
你只需将变量传递给函数 - 编程不能只通过命名相似的变量,因此你想要的是:
body a, body li, body span {
color: #222;
}
也是这一点:
$(document).ready(function () {
$(".edit_button").click(function() {
var Button_ID = $(this).attr("data-ID");
IncidentManager.showIncidentDetails(Button_ID);
});
});
你可能意味着
....
url: '../../../../_vti_bin/listData.svc/GDI_Tableau_de_bord('+ID+')',
因为代码中没有url: '../../../../_vti_bin/listData.svc/GDI_Tableau_de_bord('+Button_ID+')',
变量。
顺便提一下,您可以使用jQuery ID
函数代替.data
:
.attr
但请注意,var Button_ID = $(this).data("id");
会将您的数据属性视为小写。