Versio

Argumenten meegeven, via jQuery of een function?

Overzicht Reageren

- Aar -

- Aar -

10/01/2012 11:27:51
Quote Anchor link
Ik heb een heel tof CMS, met een heel toffe adminbackend (adminpaneel). Nu heb ik dus overzichtslijsten waar men men een item (nieuwsbericht, review, fotoalbum) kan wissen door op een 'X'-icon te drukken. Dit wil ik dus gaan afhandelen in een AJAX-request waarbij het item dan ook direct verdwijnt, i.p.v. een aparte bevestigingspagina.

Nu vraag ik me af, welke optie is beter:

1)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<tr rel="nieuws-1665">
    <td>
    <a href="index.php?module=nieuws&action=news_edit&id=1665">Embargo artikel</a>
    </td>
    <td>
    <a href="index.php?module=nieuws&action=news_delete&id=1665">
    </td>
</tr>

En dan met attr('rel').val() afhandelen in jQuery, en splitten op de '-' en deze data doorgeven aan de ajax-request.


2)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<tr>
    <td>
    <a href="index.php?module=nieuws&action=news_edit&id=1665">Embargo artikel</a>
    </td>
    <td>
    <a href="index.php?module=nieuws&action=news_delete&id=1665" onClick="delete_item('news',1665)">
    </td>
</tr>

En daar dus een functie delete_item() aan te hangen, die de ajax-request doet.

Wat zouden jullie kiezen, en waarom?
Gewijzigd op 10/01/2012 11:31:41 door - Aar -
 
PHP hulp

PHP hulp

23/05/2012 21:29:28
Gesponsorde koppelingen:
 
Erwin H

Erwin H

10/01/2012 11:33:31
Quote Anchor link
Mag een derde optie ook?

Ik zou het volgende doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<tr rel="nieuws-1665">
    <td>
    <a class="edit">Embargo artikel</a>
    </td>
    <td>
    <a class="delete"></a>
    </td>
</tr>

En dan twee JQuery functies. Een om de klik op de edit class af te vangen, de ander om een klik op de delete class af te vangen. Daarmee weet je in die functies welke actie moet worden afgehandeld en het id haal je uit de row.
 
Niels Kieviet
Beheerder

Niels Kieviet

10/01/2012 11:37:02
Quote Anchor link
Aar,

Onclick op een element is natuurlijk uit de boze.
Daarvoor hebben we JQuery click event

Niels
 
- Aar -

- Aar -

10/01/2012 11:38:22
Quote Anchor link
Maar voor het geval dat jQuery niet werkt, of JavaScript bij de holbewoners gebruikers uit staat, zie ik alsnog een fallback naar index.php?module=nieuws&action=news_delete&id=... mogelijk.

Ik denk dus inderdaad via de rel de argumenten door te geven i.p.v. een onClick en deze via click() op te vangen.
Gewijzigd op 10/01/2012 11:39:09 door - Aar -
 
Kris Peeters

Kris Peeters

10/01/2012 12:34:04
Quote Anchor link
Wat jQuery betreft zou ik gaan voor de optie van Erwin.

Dan kan je mooi selecteren op $('tr a.edit') en $('tr a.delete')

Als je toch wil dat de niet-javascript-gebruiker ook aan zijn trekken komt, voeg je die href (de klassieke link) toe.
Wat je dan nog moet doen, is de links return="false" meegeven.

Dat kan bv. zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
      $(document).ready(function(e){
        $('tr a.edit, tr a.delete').click(function(){return false;});
      });
 
- Aar -

- Aar -

10/01/2012 12:36:42
Quote Anchor link
Thnx, ik ga er naar kijken.
 



Overzicht Reageren

Get Adobe Flash player