我写了这个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标签的情况下运行我的代码?
答案 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();
});