Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery对话框,但获取动态输入_Php_Jquery - Fatal编程技术网

Php 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":

全部,, 我正在尝试使用jQuery对话框模式窗口发送电子邮件。我可以让窗口正确填充和诸如此类的东西,但我试图填充一些电子邮件地址,当我打开对话框窗口。以下是打开对话框窗口的jQuery:

$( "#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>' ) );