自定义弹出框如=如何在点击提交按钮后消失 [ 2.0 版本 ]
index.php代码
$tradea = Html::checkboxList('trade_ids', $arr, $trades);
$top = Html::submitButton('提交', ['onclick'=>"check($model->id)", 'class'=>'btn','name' =>'submit-button']);
return Html::a("<span data-content='$tradea $top' data-title='请重新选择行业' data-placement='left' data-toggle='popover' class='btn''>$hname</span>");
ajax代码:
function check($id){
$itemed =$(':checkbox:checked');
var vals="";
$itemed.each(function(){
vals+=$(this).val()+',';
});
$.ajax({
type:"get",
url:"<?= Url::to(['admin/up']) ?>",
data:{trade:vals,id:$id,'YII_CSRF_TOKEN':'<?= Yii::$app->request->csrfToken ?>'},
success:function(){
//window.location.reload();
}
});
}
现在效果是,点击一条信息内的行业,会弹出一个框,显示所有的行业,选择后点击提交,数据会被修改,但弹出框不会消失,行业显示的也是未改之前的。
并且,点击ID为1的这条信息的行业后,会弹出一个弹出框,如果不做任何修改,再点击ID为2的这条信息的行业时,也会弹出一个弹出框,但ID为1的弹出框不会消失
我想让他在点击提交之后,弹出框关闭,并且刷新当前修改的这条信息,只刷新当前被修改的信息。第二个就是,点击另一条信息的行业后,前一条信息的弹出框要关掉
哪位大神指点一下
共 1 个回答
-
jquery完全可以做到啊.
但具体不知道你的页面结构,大概说说流程吧.$("#弹出窗id").hide(); $("#需要被修改信息的元素id").val("") 或 .html(""); //上面这两行,应该是放在ajax的 success:function(){} 里面执行.
至于第二个点击另外一条信息行业后,前一条信息的弹出框要关掉.
这个一般的做法是,页面同一时间只会显示一个弹出框,要弹出新的弹出框,应该是要先关闭前一个之后才能点击操作打开另外一个.
当然,某些情况下可能会出现多个弹出框同时出现,但为了避免这种情况,一般在打开弹出窗之前会将所有的弹出窗先隐藏.
$(".弹出窗的通用样式名称").hide();
共 5 条回复js代码:
function check($id){$itemed =$(':checkbox:checked'); var vals=""; $itemed.each(function(){ vals+=$(this).val()+','; }); $.ajax({ type:"get", url:"<?= Url::to(['admin/up']) ?>", data:{trade:vals,id:$id,'YII_CSRF_TOKEN':'<?= Yii::$app->request->csrfToken ?>'}, success:function(data){ $('.btn-default').popover('hide'); $("#hangye"+$id).text(""); $("#hangye"+$id).text(data); } }); }
辰枫夜雨
注册时间:2015-08-11
最后登录:2017-06-23
在线时长:18小时59分
最后登录:2017-06-23
在线时长:18小时59分
- 粉丝10
- 金钱0
- 威望0
- 积分180