如何将数据 ID 发送到操作


How to send data-id to action?

我有这个功能:

代码 PHP:

<?php
foreach($this->pacientsInfo AS $pacient)    
                { ?>
    <button class="inmail" data-toggle="modal" data-target="#inMail" data-patient-id="<?php echo $pacient['id']; ?>"><i class="fa fa-inbox"></i><span>In-mail</span></button>
<?php
?>

此代码具有以下结果:

<button class="inmail" data-toggle="modal" data-target="#inMail" data-patient-id="191">

邮件中

我想做的是在此表单上发送ID:

代码 HTML:

<div class="modal-body">
    <div id="inbox_message">
        <form method="post" action="<?php  echo $this->serverUrl().str_replace('public','',$this->basePath()).'/user/sendmessagetoinbox/'; //here I should to add data-patient-id ?>">
            <fieldset>
                <label>Subject</label>
                <input type="text" name="inbox_subject" />
            </fieldset>
            <fieldset>
                <label>Message</label>
                <textarea name="inbox_message"></textarea>
            </fieldset>
            <fieldset>
                <button type="submit" class="btn btn-primary btn-save send-btn">Send message to inbox</button>
                <!-- <input type="submit" class="btn btn-submit" value="Send message to inbox" /> -->
            </fieldset>
        </form>
    </div>
</div>

功能sendmessagetoinbox后,我必须传输data-patient-id

这需要jquery中的一个函数来做到这一点吗?请你给我看一个简短的例子?

提前感谢!

不需要这样做,只需使用<input type="hidden" value="your_id" name="patient-id" />

如果这是引导模式弹出窗口,那么您可以在表单中添加隐藏的输入:

   <input type="hidden" value="" name="patient-id" />
</form>

然后在jQuery代码中,您可以使用show.bs.modal事件,通过event对象,您可以找到单击的目标元素,在那里您可以获取data-patient-id并将其设置在隐藏的输入中:

$('#inMail').on('show.bs.modal', function (event) {
  var pId = $(event.relatedTarget).data('patientId'); //camelCase, you have - separated data attr
  $(this).find('input[type="hidden"]').val(pId);
});

示例 @ 引导文档

尝试这样的事情:

$('.inMail').on('click', function (e) {
  var id = $(this).attr('data-target'),
     val = $(this).attr('data-patient-id');
  $('input[name="patient_id"]').remove();
  $(id).find('#inbox_message form').append('<input name="patient_id" type="hidden" value='+val+'>')
})

您可以尝试此操作,这将有助于您将变量传递到模态弹出窗口

jsfiddle.net/Au9tc/605