我有这个功能:
代码 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中的函数吗?你能告诉我一个简短的例子吗?
提前致谢!
答案 0 :(得分:3)
不要求只使用<input type="hidden" value="your_id" name="patient-id" />
答案 1 :(得分:1)
尝试这样的事情:
$('.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+'>')
})
答案 2 :(得分:1)
你可以尝试这个,这将有助于你将变量传递给模态弹出
jsfiddle.net/Au9tc/605
答案 3 :(得分:1)
如果这是bootstrap模式弹出窗口,那么您可以在表单中添加隐藏的输入:
<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);
});