如何使Jquery只关注当前的HTML“select”并仅删除当前的“选项”

时间:2012-12-07 00:04:31

标签: jquery html select

我有这个代码,我删除了我的第一个“选项”,因为第一个“请选择:”。无论如何,问题是,当我专注于我的第一个“选择”时,它会从每个选择中删除第一个“选项”。如何将其从当前关注的一个中删除?

$(document).ready(function(){

  $('select').live('focus',function() {
   $('.firstoption').remove();
  });

});

2 个答案:

答案 0 :(得分:0)

$(document).ready(function(){

  $('select:first').on('focus',function() {
   $(this).children("option:first").remove();
  });

});

示例:http://jsfiddle.net/Ky6zq/2/

每次选择获得焦点时都会执行此操作,因此您每次都会继续删除元素。要防止出现此问题,请尝试:

$(document).ready(function(){

  $('select:first').one('focus',function() {
   $(this).children("option:first").remove();
  }); 
});

示例:http://jsfiddle.net/Ky6zq/1/

答案 1 :(得分:0)

$(document).ready(function(){
   $(document).on('focus', 'select', function() {
       $('.firstoption', this).remove();
   });
});

您应该使用已弃用的on()的委托版本,而不是live()

确保为第一个选项使用类,以便每次选择获得焦点时不删除选项。