删除div中的选择选项与兄弟姐妹()

时间:2017-07-08 19:30:07

标签: php jquery

我写了这个PHP代码:

for ($i=1; $i < 11; $i++)
{
    $output.='
    <div class="form-group">
      <label>Schedule priority: '.$i.' </label><br>
      <select class="form-control selectDisable">
        <option selected disabled>Select an option</option>
        <option value="1">Schedule: 00:00 - 00:00 Break:  00:00 - 00:00 Restday: Monday</option>
        <option value="2">Schedule: 00:00 - 00:00 Break:  00:00 - 00:00 Restday: Tuesday</option>
        <option value="3">Schedule: 00:00 - 00:00 Break:  00:00 - 00:00 Restday: Wednesday</option>
        <option value="4">Schedule: 00:00 - 00:00 Break:  00:00 - 00:00 Restday: Thrusday</option>
        <option value="5">Schedule: 00:00 - 00:00 Break:  00:00 - 00:00 Restday: Friday</option>
        <option value="6">Schedule: 00:00 - 00:00 Break:  00:00 - 00:00 Restday: Saturday</option>
        <option value="7">Schedule: 00:00 - 00:00 Break:  00:00 - 00:00 Restday: Sunday</option>
      </select>
    </div>';
}

使用Jquery我正在寻找使用此代码的兄弟姐妹选择删除选择的选项:

   $(document).on('change','.selectDisable',function(){
    $(this).siblings().find('option[value="'+$(this).val()+'"]').remove();
  });

它不起作用,可能是因为如果删除该标记代码正常,则选择在<div class="form-group">内。

如何在不删除div标签的情况下运行我的代码?

1 个答案:

答案 0 :(得分:3)

Siblings是同一级别的元素。您的select处于不同级别。我想你可以选择没有select的所有siblings

$(document).on('change','.selectDisable',function(){
    $('.selectDisable').find('option[value="'+$(this).val()+'"]').remove();
});

如果您不想从当前 select中删除值,请使用not

$(document).on('change','.selectDisable',function(){
    $('.selectDisable').not(this).find('option[value="'+$(this).val()+'"]').remove();
});