Как "красивее" передать переменные в функцию
Есть элементы с ID от a11 до a50
При клике на элемент a11 нужно передавать функции validate две переменных b=1 и c=1 При клике на элемент a50 нужно передавать b=5 и c=0 соответственно В голову приходит два варианта, но оба они мне кажутся корявыми Вариант 1: $("#a11").click(validate(1,1)); ....... $("#a50").click(validate(5,0)); Вариант 2: <span id="a11" onclick="validate(1,1); return false;">текст</span> ....... <span id="a50" onclick="validate(5,0); return false;">текст</span> Можно ли как-то выдергивать эти переменные из ID? |
function validate(event) { var $element = $(this), value1 = $element.data("value1"), value2 = $element.data("value2"); … } $("#a11").click(validate); ....... $("#a50").click(validate); <span id="a11" data-value1="1" data-value2="1">текст</span> <span id="a50" data-value1="5" data-value2="0">текст</span> |
:write: чтоб неперечислять
Цитата:
$("[id^='a']").click(validate); |
Цитата:
|
Цитата:
Для этого можно использовать метод http://javascript.ru/String/substring |
Цитата:
|
pashin76,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function () { function validate(event) { var $element = $(this), value1 = $element.data("value1"), value2 = $element.data("value2"); alert([value1,value2]) } $("[id^='a']").click(validate); }) </script> </head> <body> <span id="a11" data-value1="1" data-value2="1">текст</span> <span id="a50" data-value1="5" data-value2="0">текст</span> </body> </html> |
теперь понял
всем спасибо, то что нужно |
Часовой пояс GMT +3, время: 12:34. |