2014-03-30 44 views
0

可能有很多方法可以實現我想要做的事情,但我只需要最簡單的方法。 我使用php for loop來顯示來自db的數據。 我想從數據庫中顯示對話框,更改值以匹配php的循環值。現在它只顯示來自數據庫的最後一行值。 $(this).parent()。submit();是否有因爲我從另一個工作解決方案複製它:)jquery-ui從php循環中打開對話框

這是我已經嘗試,但對話框只顯示最後一行,ID不變。 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

我不明白你想達到什麼。什麼必須在模態?與點擊「a」標籤相匹配的「$ body」部分? – progzy

+0

嗨,sry忘了..我編輯了問題中的php代碼。 – user2023042

+0

對不起,我還是不明白...反正PHP部分是不完整的。也許你應該粘貼生成的html,並可以在對話框中解釋你想要的內容。 – progzy

回答

0

嘗試線

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

變成

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

編輯:

我做了什麼,我認爲你期待小提琴。你可以從它啓發,做你想做的事:http://jsfiddle.net/cYEsp/2/

+0

謝謝,這會給出查詢中最後一行的值:alert(formvalue);但仍然同樣的問題.. – user2023042

+0

那麼我明確不明白你想要什麼。如果您將HTML和JS粘貼到http://jsfiddle.net,我認爲這會很有幫助 – progzy