Цикл Jquery - захват значения - PullRequest
1 голос
/ 14 мая 2009

Я запускаю этот цикл в php, но использую функцию щелчка jquery во время вывода. Как я могу записать, какой экземпляр $ я нажал. Когда я использую $ (this), он возвращает идентификатор.

$ ('# pid-form'). Val ('$ frame_id [$ i]') на самом деле имеет желаемое значение, но я не уверен, как его использовать или преобразовать в переменную Я могу использовать.

for($i = 0; $i < $numRecords2; $i++){

$prod_id = $_SESSION['prod_array'][$frame_id[$i]];
echo"

$('#frame$frame_id[$i]').click(function() {
    $('#top-left-frame').html('<img src=\"$upper_left[$i]\" alt=\"\" />');
    $('#top-mid-frame').css('background-image','url($upper_middle[$i])'); 
    $('#top-right-frame').html('<img src=\"$upper_right[$i]\" alt=\"\" />');
    $('#mid-left-frame').css('background-image','url($middle_left[$i])'); 
    $('#mid-right-frame').css('background-image','url($middle_right[$i])'); 
    $('#bottom-left-frame').html('<img src=\"$bottom_left[$i]\" alt=\"\" />');
    $('#bottom-mid-frame').css('background-image','url($bottom_middle[$i])'); 
    $('#bottom-right-frame').html('<img src=\"$bottom_right[$i]\" alt=\"\" />');
    $('#frame-select').html('$prod_id');
    $('#pid-form').val('$frame_id[$i]');
    $('#oa_id-form').val('$prod_id');
    var frameState = $(this).attr('id');
    $.cookie('frameState', frameState, { expires: 7 });     
    alert($.cookie('frameState') + ' was clicked.');
 });
";
 }

Ответы [ 2 ]

0 голосов
/ 14 мая 2009

, если "frame $ frame_id [$ i]" является идентификатором объекта, по которому щелкнули, вы можете извлечь идентификатор с помощью:

$(this).attr('id').replace(/[^\[]*\[([^\]]*)\]$/, '$1')

это будет манипулировать идентификатором и возвращать только значение в скобках.

0 голосов
/ 14 мая 2009

Почему бы просто не закодировать его жестко, как вы уже делали везде в своем скрипте?

ПРИМЕЧАНИЕ: это очень плохой дизайн ИМХО; вместо того, чтобы создавать все это для КАЖДОГО элемента в вашем массиве, вы должны создать статическую функцию JS, которая делает все это, а затем вызывать ее с параметрами для передачи дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...