我有几个选项允许队长为球员选择位置
$('.select_role').on('focus',function(){
console.log("Test");
})
$('.select_role').on('change',function(e){
$.ajax({
url : './tournaments/hub/save_roster.php',
type :'POST',
data : {
role_id : $(this).data('role'),
tournament_id : '<?php echo $tournament_id;?>',
team_id : '<?php echo $team_id;?>',
user_id : $(this).val()
},
success : function(res){
res = jQuery.parseJSON(res);
if(res.result == 0){
toastr.warning(res.resp);
}
if(res.result == 1){
toastr.success(res.resp);
}
}
})
})
在来自我的服务器脚本的错误消息中,select应在用户更改之前恢复为之前的val。
出于某种原因,我无法专注于选择元素,所以我无法让占位符恢复。
使用像这样的行
也无法恢复var ele = $(this)
ele.val("");
select本身的值为''0'作为选项
我做错了什么?
答案 0 :(得分:0)
您不能在使用它的范围内使用$ this值。你的代码中的$ this将不会引用select元素。尝试:
var ele = $('.select_role')
停止事件传播也是一个明智的决定,就好像你处于onchange状态并且你改变某些东西一样,它会再次触发,依此类推等等。