Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Пожалуйста помогите с передачей параметра (https://javascript.ru/forum/jquery/6620-pozhalujjsta-pomogite-s-peredachejj-parametra.html)

xela1980 10.12.2009 01:51

Пожалуйста помогите с передачей параметра
 
Ребят помогите понять как передать параметр в функцию в след. ситуации
Объвил функцию так

function OPEN_DIALOG(а) {
alert (a);
}


Затем в определенном месте (при щелчке на ячейке таблицы) хочу вызвать так
var a =1;

$(”td”).livequery(”click”,OPEN_DIALOG(a));

Но она вызывается до щелчка при загрузке страницы где таблица. Хотя алерт показывает 1 и консоль ошибок Фокса пишет
Mark the functions for matching later on
fn.$lqguid = fn.$lqguid || $.livequery.guid++;
if (fn2) fn2.$lqguid = fn2.$lqguid || $.livequery.guid++;

Как правильно передать параметр? Подскажите плиз

Urfin 10.12.2009 03:40

$(”td”).live('click' ,function(){ 
     OPEN_DIALOG(a)   
});

xela1980 10.12.2009 08:50

Urfin,
Спасибо огромное :))) Выручил. Все работает.

greysells 11.12.2009 00:54

а у меня подобная задача. мне нужно, что бы Jquery знала какой элемент обрабатывать. в ручную указать не вариант, т.к. кол-во может быть очень большим. поэтому придумал передавать id элемента с помощю onClick по самому элементу.
--------------------
К примеру:
в Jquery объявил функцию

function my_function(i) {
alert (i);
}

но, передать параметр с помощью onclick="my_function()" который находится на самом элементе, id которого нужно передать, не получается.
--------------------
Подскажите как правильно передать параметр в моем случае.

subzey 11.12.2009 03:13

Цитата:

Сообщение от greysells (Сообщение 37666)
Jquery знала какой элемент обрабатывать.

Если я Вас правильно понял, Вам нужно узнать, на какой элемент щелкнули (навели курсор, изменили, подгрузили, ...). Вам поможет this.
$("a").click(
function(){
alert(/**/this/**/.innerHTML)
}
)

greysells 11.12.2009 10:08

извиняюсь, не совсем точно выразил свой вопрос. мне нужен не тот элемент по которому кликнули, а другой.
------------
Например:
кликаем по этому<div id="main_1"></div>, а отображается <div id="child_1"></div>.
Но подобных блоков много. и как дать понять jquery что при клике на родителя, должен обрабатываться его дочерний?

Urfin 11.12.2009 14:29

Приведите пример, уточняющий вопрос.

greysells 11.12.2009 16:56

пример:
<div id="main_1"></div>
<div id="main_2"></div>
<div id="main_3"></div>
<div id="main_4"></div>

<div id="child_1">изначально скрыт</div>
<div id="child_2">изначально скрыт</div>
<div id="child_3">изначально скрыт</div>
<div id="child_4">изначально скрыт</div>

и т.п. может быть очень много. кол-во дивов формируется скриптом, их может быть очень много. А нужно, что бы при клике на какой нибудь main див, отображался child див с таким же номером что и main.

Urfin 11.12.2009 17:31

Вообще то child див это див лежащий внутри родительского. У вас в примере это не child.
Находить можно например так:
<div id="main_1"></div>
<div id="child_main_1"></div>


$(document).ready(function(){
    $('#main_1').live('click', function(){
         var sufix=$(this).attr('id');
         $('#child_'+sufix).fadeIn();
    });
});

greysells 12.12.2009 18:15

Urfin, спасибо! )


Часовой пояс GMT +3, время: 04:56.