Zajmuję się tworzeniem aplikacji, która opiera się głównie na jQuery dla interakcji użytkownika.
(a jeśli przeglądarka nie obsługuje jQuery, a następnie uaktualnij lub nie korzystaj z mojej aplikacji):Część 1: jQuery -> MySQL -> jQuery -> HTML
Zwykle funkcjonuje funkcja GET, SET i DELETE danych z tabeli.
W mojej aplikacji zgrywam się i konfiguruję wiele informacji bez przeładowywania strony. Aby to zrobić, używam głównie jQuery.post.
Typowy kod w moim pliku JS wygląda następująco:
jQuery.post("mypath/jquery_getset_data.php", { instance: 'getItems_A', itemID: itemID_value},
function(data) {
populateItemList(data);
});
jquery_getset_data.php zawiera wielu jeżeli oświadczenia:
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
}
Oto moje pytanie:
Czy jest lepszy sposób interakcji między plikiem JS a jquery_getset_data.php?
Jak mogę dynamicznie wywoływać różne funkcje "usuń element" wewnątrz createStoreList? Zobacz Aktualizacja 1.
Aktualizacja 1: Jest to kod, który używam do tworzenia wielu różnych list.
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;
}
Aktualizacja 2 Pomyślałem po prostu przydałoby oświadczenia przełącznika. Przetestowałem to i działa.
.click(function() {
switch(instance)
{
case 'removeListItemA': removeListItemA(this); break;
case 'removeListItemA': removeListItemB(this); break;
case 'removeListItemA': removeListItemC(this); break;
}
})
może powinieneś opublikować przykłady "prawie identycznego kodu"? BTW, naruszyłeś kod managera, nie zagnieżdżając parens blisko twojej buźki: powinien przeczytać "albo nie używaj mojej aplikacji :))": D: D – jrharshath
+1 dla "jeśli przeglądarka nie obsługuje jQuery, to zaktualizuj lub nie używaj mojej aplikacji ". :-) – KyleFarris