Как "красивее" передать переменные в функцию
Есть элементы с 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, время: 00:58. |