Ajax mit Datenbank
am 05.08.2011 - 11:28 Uhr in
Ich möchte eine Funktion aufrufen, wenn man die text in einer HTML-Liste geklickt, gleichzeitig werden 2 Parameter übertragen.
Z.B. wie unten, die 2 Parameter sind "Produkte ID" und "Produkte-Gruppe".
Meine Frage ist :
wie kann ich hier die richtig ID in Javascript (jQuery) erfassen? kann man hier "this" verwenden und wie?
Beispiel-Ausgabe (Table) wie folgend:
Produkt-Gruppe:Tablet-PC
Product-ID // Pruduct-Name // action
1 // iPad // add this product into this group (hier klicken)
2 // iPad2 // add this product into this group (hier klicken)
3 // ...... // ......
.................
Code sehe unten..
HTML:
<div>Produkt-Gruppe:</div>
<div class="group-name">Tablet-PC</div>
<table id="mytable">
<tr>
<th>Product-ID</th>
<th>Pruduct-Name</th>
<th>action</th>
</tr>
<tr>
<td class="product-id">1</td>
<td>iPad</td>
<td>add this product into this group<a href="#" class="action">(hier klicken)<a></td>
</tr>
<tr>
<td class="pid">2</td>
<td>iPad2</td>
<td>add this product into this group<a href="#" class="action">(hier klicken)<a></td>
</tr>
.......
</table>
Javascript datei:
$(document).ready(function() {
$('.action').attr('href', 'javascript:void(0);');
//wenn user "hier klicken" klickt, muss die Parameter übertargen:
$('.action').click(function() {
//wie schreibt man untere code richtig?
var parameter = $.trim($('.group-name').val()) + $.trim($('.product-id').val()); ?
//wie kann ich hier die richtig ID erfassen? kann man hier "this" verwenden und wie?
$.ajax({
type: "GET",
url: "/product/add",
data: "name=" + encodeURI(parameter),
success: function(msg){
eval(msg);
}
});
});
});
Danke
- Anmelden oder Registrieren um Kommentare zu schreiben
jQuery
am 09.08.2011 - 21:43 Uhr
Hallo.
Welche ID möchtest Du denn überhaupt auslesen?
<td class="product-id">1</td>
oder dann doch lieber<td class="pid">2</td>
?Mal vorausgesetzt, Du entscheidest Dich bei beiden Elementen für die Klasse "product-id", kannst Du den Wert mit diesem Code-Schnipsel auslesen:
$('.action').click(function () {
$elem_product_id = $(this).parents('tr').find('.product-id');
if ($elem_product_id.length) {
var product_id = $elem_product_id.html();
}
});
Du solltest Dir unbedingt mal die Dokumentation von jQuery zu Gemüte führen ...
hth,
Stefan
Danke, gelöst!
am 16.08.2011 - 11:31 Uhr
Hallo Stefan,
Mit deine Beispiel Code habe ich mein Problem gelöst.
Noch mal vielen Danke!
wanneng