SELECT podobná událost onChange s jQuery

hlasů
0

Mám trochu rozbalovací nabídku podobnou <select>, která contolled z externího JS-funkce.
HTML:

<ul class=select id=select>
   <li>
      <a href=javascript:void(0); class=selectlink id=price_type>UAH</a>
      <ul>
         <li onclick=onchange('elm0', 0); >
            <a href=javascript:void(0); id=elm0>UAH</a></li>
         <li onclick=onchange('elm1', 1); >
            <a href=javascript:void(0); id=elm1>USD</a></li>
         <li onclick=onchange('elm2', 2); >
            <a href=javascript:void(0); id=elm2>EUR</a></li>
         <li onclick=onchange('elm3', 3); style=border-bottom:1px solid #54616E>
            <a href=javascript:void(0); id=elm3>...</a></li>
      </ul>
   </li>
</ul>

a onchange-function pomocí jQuery:

function onchange(id, index) {
  $(#price_type).html($(#+id).html());
  updateData(index);
}

kde updateData(index)dělá požadavek ahaḥ měnit obsah podle toho, co tvrdí index. Ale já chci změnit tento starý zdroj pomocí jQuery a tudíž bez onclick=onchange('elm...', ...);. A protože jsem se začal učit jQuery 2 dny, potřebuji nějakou pomoc o tom, jak je to v pořádku:

$(function() {
   $(ul#select li ul li).click(function() {
      var id = $([id^=elm]).attr(id).match(/\((\d+)\)/)[1];
      $(#price_type).html($(#elm+id).html());
      updateData(id);
   });
});

I a udělat něco špatně ... Děkuji vám za vaše odpovědi!

Položena 26/08/2009 v 23:07
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
2

Já bych ve skutečnosti přiloží click()ke kotvě spíše než položky seznamu.

$("ul#select li ul li a").click(function() {
    $("#price_type").html($(this).html());

    var id = $(this).attr("id")).match(/\((\d+)\)/)[1];
    updateData(id);

    return false; // Now you can also remove the javascript:void(0) from your anchors onClick
});
Odpovězeno 26/08/2009 v 23:35
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more