Php jQuery对话框,但获取动态输入
全部,, 我正在尝试使用jQuery对话框模式窗口发送电子邮件。我可以让窗口正确填充和诸如此类的东西,但我试图填充一些电子邮件地址,当我打开对话框窗口。以下是打开对话框窗口的jQuery:Php jQuery对话框,但获取动态输入,php,jquery,Php,Jquery,全部,, 我正在尝试使用jQuery对话框模式窗口发送电子邮件。我可以让窗口正确填充和诸如此类的东西,但我试图填充一些电子邮件地址,当我打开对话框窗口。以下是打开对话框窗口的jQuery: $( "#dialog-form" ).dialog({ autoOpen: false, height: 600, width: 750, modal: true, show: 'slide', buttons: { "Send Email":
$( "#dialog-form" ).dialog({
autoOpen: false,
height: 600,
width: 750,
modal: true,
show: 'slide',
buttons: {
"Send Email": function() {
var message_to_send = $( "#message_to_vendors" ).val();
alert(message_to_send);
var vendor_ids = $("#email_vendor_ids").val();
alert(vendor_ids);
$.post("send_vendor_emails.php", { email_vendor_ids: vendor_ids, message_to_vendors: message_to_send }, function(data) {
alert("The data is: "+data);
if(data=="yes"){
$("#dialog-form").dialog( "close" );
}
});
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
这是我的对话表:
<div id="dialog-form" title="Email Vendors">
<form>
<select data-placeholder="Vendors to Email" style="width:350px;" multiple class="chzn-select">
<div id="email_options">
<option selected>Email Address 1</option>
<option selected>Email Address 2</option>
</div>
</select>
</form>
</div>
电邮地址1
电邮地址2
我正在会话变量中存储一些电子邮件地址,我希望在单击对话框打开它时,可以在会话变量中填充电子邮件地址。如何使用该对话框执行此操作
提前谢谢你的帮助 听起来您只需要将会话中的电子邮件打印到对话框的标记中。您希望将它们添加为select元素的选项,对吗
<div id="dialog-form" title="Email Vendors">
<form>
<div id="email_options">
<select data-placeholder="Vendors to Email" style="width:350px;" multiple class="chzn-select">
<?php foreach ( $_SESSION['emails'] as $e ): ?>
<option><?php echo $e; ?></option>
<?php endforeach; ?>
</select>
</div>
</form>
</div>
是的,当页面加载时会得到会话。一旦进入页面,用户仍然可以选择更多的复选框,这些复选框会创建更多的会话变量,而这些变量不会显示,因为您是在页面加载时填充的,而不是在调用对话框打开时填充的。您应该在原始问题中澄清这一点。我更新了答案以反映这一点,尽管我仍然不能100%清楚您指的是PHP会话还是其他什么。谢谢,是的,我指的是PHP会话。但是,附加功能不起作用。你知道为什么它不会这样做吗?如果没有一些更新的代码来参考,很难说。您是否重新构造HTML以匹配我的示例?为简单起见,您可以将
id=“email\u select”
添加到
元素中。然后使用这个jQuery代码$('#email_select')。追加($(''+new_email+'')
追加新电子邮件,注意应将new_email
设置为正在添加到会话的电子邮件地址。
/* Where ever you update the session with more emails, also do this
Note, this is using the modified markup from my above example
(select is child of #email_optons) */
var new_email = ''; // Set this to the value of the email which is being added to the session
$('#email_options select').append( $('<option>' + new_email + '</option>' ) );