我有这个功能:
代码 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