我在我的项目中使用Codeigniter和Bootstrap,我有一个调用Modal的按钮,在调用Modal之前我用ajax做了一些测试,所以我从按钮中删除了数据目标,我在ajax成功后添加了测试,my问题是我应该按两次按钮来调用Modal第一次添加attr而第二次调用Modal,我需要使用jquery来模拟点击按钮的动作并在某个时候添加属性data-target而不需要双击。我该如何实现?我可以用jQuery实现吗?
这是我的代码:
<button type="button" class="btn btn-warning" id="ppp" data-toggle="modal" data-ms="1" data-idpt="<?php echo $idPatient ?>" data-nbrsc="<?php echo $nbrSc; ?>" data-tarifsc="<?php echo $tarifSc; ?>" >
+ Réglememt</button>
<script type="text/javascript">
$(document).ready(function(){
$("#ppp").click(function(event){
event.preventDefault();
var dtab = $("tr.active td:first").html();
jQuery.ajax({
type: "POST",
url:"<?php echo base_url() ?>esthetique/ajax_pm",
dataType:'json',
data:{dtab: dtab},
success:function(res){
document.getElementById('dangerlist').innerHTML ='';
if(res.dtab==null){
document.getElementById('dangerlist').innerHTML = "<div class='alert alert-danger' id='error' role='alert'></div>";
$('#error').text('Veuillez selectionner un traitement');
}else{
if(res.paiemsg==1){
document.getElementById('dangerlist').innerHTML = "<div class='alert alert-info' id='error' role='alert'></div>";
$('#error').text('Impossible d\'ajouter paiement : Traitement déja réglée');
}else{
$("#ppp").attr("data-target","#addpm");
$('#ppp').click();
}
}
}
});
});
});
</script>
答案 0 :(得分:0)
不使用添加属性和触发第二次单击,只需使用Bootstrap方法modal()
$("#ppp").click(function (event) {
event.preventDefault();
jQuery.ajax({
type: "POST",
url: "<?php echo base_url() ?>esthetique/ajax_pm",
dataType: 'json',
data: {dtab: $("tr.active td:first").html()},
success: function (res) {
document.getElementById('dangerlist').innerHTML = "<div class='alert alert-danger' id='error' role='alert'></div>";
if (res.dtab == null) {
$('#error').text('Veuillez selectionner un traitement');
return;
}
if (res.paiemsg == 1) {
$('#error').text('Impossible d\'ajouter paiement : Traitement déja réglée');
return;
}
document.getElementById('dangerlist').innerHTML = '';
// $("#ppp").attr("data-target", "#addpm");
$("#myModal").modal()
}
});
});
Moins de lignes de code est mieux,non?