SELECT-como evento onChange com jQuery

votos
0

Eu tenho um pequeno menu suspenso semelhante <select>, que contolled de-função js externo.
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>

e onchange-função usando jQuery:

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

onde updateData(index)faz uma solicitação AHAH para alterar o conteúdo de acordo com o argumento index. Mas eu quero mudar essa fonte de idade usando jQuery e, portanto, sem onclick=onchange('elm...', ...);. E porque eu comecei a aprender jQuery 2 dias atrás, eu preciso de alguma ajuda sobre como é correto:

$(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);
   });
});

e eu faço algo errado ... Obrigado por suas respostas!

Publicado 26/08/2009 em 23:07
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

Gostaria, na verdade anexar o click()à âncora em vez do item da lista.

$("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
});
Respondeu 26/08/2009 em 23:35
fonte usuário

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