Autor Zpráva
Leo3
Profil
Ako pristupim k jednemu odkazu v html z JavaScriptu? Pouzivam jQuery 3.1.1 a jQuery confirm.

Ukazka jsfidle.net

html:
<div class="table-responsive">
  <table id="mytable" class="table table-bordred table-striped cut-width">
    <thead>
      <th><strong>Zelenina</strong></th>
      <th><strong>Ovocie</strong></th>
      <th><strong>Delete</strong></th>
    </thead>
    <tbody>
      <tr>
        <td>Mrkva</td>
        <td>Jablko</td>
        <td><a href="/delete" class="btn btn-danger btn-sm" id="delete-record">
          <i class="fa fa-close fa-2x" title="Delete"></i></a>
        </td>
      </tr>
    </tbody>
  </table>
</div>

JavaScript:
$('table tbody a #delete-record').confirm({
  title: 'Warning',
  content: 'Do you really want delete this record?'
});

Co treba dat do $('table tbody a #delete-record') aby to fungovalo? Ked to dam mimo tabulku tak to pekne ukaze okno o potvrdeni akcie.
Keeehi
Profil
Problém je s mezerou mezi a a #delete-record. To totiž znamená, že je někde odkaz a v tom odkazu je další element s id delete-record. Jelikož chceš říct, že ten odkaz má mít určité id, tak to musí být bez mezery. table tbody a#delete-record
Jelikož ale musí být id v rámci celé stránky unikátní, pak bude úplně stačit #delete-record jako selector. Tuším však, že to není tvůj záměr a těch řádků v tabulce bude více a každý z nich bude mít svůj odkaz pro smazání. V tom případě použij jako identifikátor třídu a selector Může být třeba table a.delete-record nebo jen .delete-record.
Leo3
Profil
Ano, presne, problem bol v tej medzere. No mas pravdu, id ma byt unikatne. Tabulku vykreslujem v cykle. Takze to je velmi dobry podnet, zmenil som to na triedu.
$('a.delete-record').confirm({
  title: 'Warning',
  content: 'Do you really want delete this record?'
});
Takto to funguje. Vdaka.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0