可能有很多方法可以实现我想要做的事情,但我只需要最简单的方法。 我使用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;"> </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
我不明白你想达到什么。什么必须在模态?与点击“a”标签相匹配的“$ body”部分? – progzy
嗨,sry忘了..我编辑了问题中的php代码。 – user2023042
对不起,我还是不明白...反正PHP部分是不完整的。也许你应该粘贴生成的html,并可以在对话框中解释你想要的内容。 – progzy