JQuery-UI открыть диалог из цикла PHP

0

есть, вероятно, много способов добиться желаемого я хочу, но мне просто нужен самый простой способ. Я использую php для цикла для отображения данных из db. Я хочу показать диалог из базы данных, который изменяет значения в соответствии с значениями php для цикла. Теперь он показывает только последние значения строк из базы данных.

$ (This).parent(). Submit(); есть, потому что я скопировал его из другого рабочего решения :)

Здесь то, что я пробовал, но для диалога просто показывает последнюю строку, и идентификатор не меняется. PHP:

for ($i=0; $i < $numrows ; $i++){
echo ('<div style="float: left; min-height: 20px; font-size: 14px; width: 266px;
padding-left: 5px;" class="emailTopicStyle"><a class="show" name="id" value="'.$id.'" href="#">'.$topic.'</a></div>');

echo ('<div style="float: left; padding-left: 20px; 
font-size: 14px; min-height: 20px;" class="emailTopicStyle">'.$body.'</div>');

 }

}
echo ('<div id="dialog-open" title="Sent, '.$sent.'">');
echo ('<p style="line-height: 1.2em; font-weight: bold; padding-bottom: 8px;"><span class="ui-icon ui-icon-mail-closed" style="float: left; margin: 0 7px 20px 0; "></span>Aihe: '.$topic.'</p>');
echo ('<p style="line-height: 1.2em;"><span style="float: left;"></span>Body: '.$body.'</p>');
echo ('</div>'); 
echo ('<div style="clear: both;">&nbsp;</div>').PHP_EOL;    

Jquery:

var formvalue ='';
    $( "#dialog-open" ).dialog({
      resizable: true,
      height:300,
      width: 600,
      modal: true,
      autoOpen: false,
      buttons: {
        "Sulje": function() {
            $('[name=id]').each(function() {
            if (formvalue == $(this).val()) {
                $(this).parent().submit();
            }
            });
            $( this ).dialog( "close" );        
        }
      }
    });


 $( ".show" ).click(function() {
 formvalue = $(this).parent().find('[name=id]').val();
 $( "#dialog-open" ).dialog( "open" );
})

Результат html:

This is testsubject Testaillaan numero 1.. 30.03.2014 09:30:20 2868
This is testsubject Testaillaan numero 2.. 30.03.2014 09:30:33 2869
This is testsubject Ja lisää testiä.. 30.03.2014 14:31:31 2870

как html:

<div style="float: left; min-height: 20px; font-size: 14px; width: 266px; padding-left: 5px; margin-bottom: 2px;" class="emailTopicStyle"><a class="show" name="id" value="2" href="#">Tämä on testiotsikko</a></div><div style="float: left; padding-left: 20px; font-size: 14px; min-height: 20px;" class="emailTopicStyle">Testaillaan numero 1..</div><div style="float: left; padding-left: 20px; font-size: 14px; min-height: 20px;" class="emailTopicStyle">30.03.2014 09:30:20</div><div style="float: left; padding-left: 20px; padding-right: 10px; font-size: 14px; min-height: 20px;" 

class="emailTopicStyle">2868</div>
<div style="float: left; min-height: 20px; font-size: 14px; width: 266px; padding-left: 5px; margin-bottom: 2px;" class="emailTopicStyle"><a class="show" name="id" value="3" href="#">Tämä on testiotsikko</a></div><div style="float: left; padding-left: 20px; font-size: 14px; min-height: 20px;" class="emailTopicStyle">Testaillaan numero 2..</div><div style="float: left; padding-left: 20px; font-size: 14px; min-height: 20px;" class="emailTopicStyle">30.03.2014 09:30:33</div><div style="float: left; padding-left: 20px; padding-right: 10px; font-size: 14px; min-height: 20px;" class="emailTopicStyle">2869</div>

</div><div style="float: left; min-height: 20px; font-size: 14px; width: 266px; padding-left: 5px; margin-bottom: 2px;" class="emailTopicStyle"><a class="show" name="id" value="4" href="#">Tämä on testiotsikko</a></div><div style="float: left; padding-left: 20px; font-size: 14px; min-height: 20px;" class="emailTopicStyle">Ja lisää testiä..</div><div style="float: left; padding-left: 20px; font-size: 14px; min-height: 20px;" class="emailTopicStyle">30.03.2014 14:31:31</div><div style="float: left; padding-left: 20px; padding-right: 10px; font-size: 14px; min-height: 20px;" class="emailTopicStyle">2870</div>

Br, Toube

  • 0
    Я не понимаю, чего ты хочешь достичь. Что должно быть в модале? Часть $ body, соответствующая тегу a, нажата?
  • 0
    Привет, sry забыл .. Я отредактировал код php в вопросе.
Показать ещё 4 комментария
Теги:

1 ответ

0

Попробуйте изменить строку

formvalue = $(this).parent().find('[name=id]').val();

в

formvalue = $(this).parent().find('[name=id]').attr('value');

Редактировать:

Я сделал скрипку с тем, что, как я думаю, вы ожидаете. Вы можете вдохновлять на это, чтобы делать то, что вы хотите: http://jsfiddle.net/cYEsp/2/

  • 0
    Спасибо, хорошо, что даст значение последней строки в запросе: alert (formvalue); Но все же проблема ..
  • 0
    Ну, я определенно не понимаю, что вы хотите. Я думаю, что будет полезно, если вы вставите HTML и JS в jsfiddle.net

Ещё вопросы

Сообщество Overcoder
Наверх
Меню