Tôi đang phát triển một ứng dụng dựa chủ yếu vào jQuery để tương tác với người dùng.
(và nếu trình duyệt của bạn không hỗ trợ jQuery, hãy nâng cấp hoặc không sử dụng ứng dụng của tôi :)Phần 1: jQuery -> MySQL -> jQuery -> HTML
Như bình thường, có chức năng GET, SET và DELETE dữ liệu từ bảng.
Trong đơn đăng ký của tôi, tôi đang NHẬN và THIẾT LẬP rất nhiều thông tin mà không cần tải lại trang. Để làm điều này, tôi chủ yếu sử dụng jQuery.post.
Một mã điển hình trong tập tin JS của tôi trông như thế này:
jQuery.post("mypath/jquery_getset_data.php", { instance: 'getItems_A', itemID: itemID_value},
function(data) {
populateItemList(data);
});
Các jquery_getset_data.php chứa nhiều nếu báo cáo:
if($_POST['instance'] == 'getItems_A'){
// PHP code to get and process data from MySQL DB
}
if($_POST['instance'] == 'setItems_A'){
// PHP code to process and insert data to MySQL DB
}
Dưới đây là câu hỏi của tôi:
Làm cách nào tốt hơn để tương tác giữa tệp JS và jquery_getset_data.php?
Làm cách nào để tự động gọi các chức năng "xóa mục" khác nhau bên trong createStoreList? Xem cập nhật 1.
Cập nhật 1: Đây là mã mà tôi sử dụng để tạo ra nhiều danh sách khác nhau.
function createStoreList(data)
{
var ul = jQuery("<ul/>");
// We need to build the html structure in order for this to be registered in DOM.
// If we don't, jQuery events like .click, .change etc. will not work.
for (var i = 0; i < data.length; i++)
{
ul.append(
jQuery("<li/>")
.attr("id", "listItem_"+data[i].id)
.append(jQuery("<span/>")
.addClass("btnRemoveItem")
.attr("title", "Remove store from list")
.attr("id", data[i].id)
.click(function() { removeItemA(this); })
)
.append(data[i].name + ', ' + data[i].street)
);
}
return ul;
}
Cập nhật 2 tôi figured tôi chỉ có thể sử dụng câu lệnh switch. Tôi đã thử nghiệm nó và nó hoạt động.
.click(function() {
switch(instance)
{
case 'removeListItemA': removeListItemA(this); break;
case 'removeListItemA': removeListItemB(this); break;
case 'removeListItemA': removeListItemC(this); break;
}
})
có lẽ bạn nên đăng các ví dụ về "mã gần giống hệt nhau"? BTW, bạn vi phạm mã geek bằng cách không làm tổ parens gần cười của bạn: nó nên đọc "hoặc không sử dụng ứng dụng của tôi :))": D: D – jrharshath
+1 cho "nếu bạn là trình duyệt không hỗ trợ jQuery, thì nâng cấp hoặc không sử dụng ứng dụng của tôi ". :-) – KyleFarris