jQuery选择焦点占位符/ val(“”)

时间:2016-02-03 11:04:20

标签: jquery select

我有几个选项允许队长为球员选择位置

$('.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'作为选项

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您不能在使用它的范围内使用$ this值。你的代码中的$ this将不会引用select元素。尝试:

    var ele = $('.select_role')

停止事件传播也是一个明智的决定,就好像你处于onchange状态并且你改变某些东西一样,它会再次触发,依此类推等等。