Próbuję edytować zdarzenie "onchange" istniejącego elementu "select".Jak edytować atrybut "onchange" w znaczniku "wybierz"? (używając jquery)
Na przykład celów Mam następujący kod:
<select id="sel_id" onchange="javascript:foo();" >
i gdy próbuję zmienić jego 'onchange' atrybut używałem następujący:
$("#sel_id").attr("onchange", "foo_2()");
FYI, to kod, który powinien w porządku nie działa, atrybut "onchange" pozostaje niezmieniony. Jak więc edytować?
AMMENDMENT:
można usunąć atrybut, a następnie powiązać inną funkcję jak:
$("#sel_id").removeAttr("onchange").bind("change", function(){ foo_2(); });
ale problem pozostaje, czy jest możliwe, aby zmienić „onchange” atrybutu bez wyjmowania go na pierwszym miejscu?
Tak, to jest poprawna odpowiedź, na pewno trzeba usunąć zdarzenie i wiązać własne przy użyciu jQuery. – vitorhsb
'$ ('sel_id'). Attr ('onchange', undefined) .change (function() {foo_2();});' jest sposobem jQuery to zrobić. W ten sposób można po prostu wykonać obie operacje za pomocą jednego obiektu jQuery. – Muhd
Również OP może prawdopodobnie zrobić '.change (foo_2)' zamiast owijać w anonimową funkcję. – Muhd