gpt4 book ai didi

javascript - 从同一类的所有选择框中删除选项,但单击的除外

转载 作者:行者123 更新时间:2023-11-30 12:52:26 25 4
gpt4 key购买 nike

我有一张酒店预订表,客户可以在其中选择与谁同住一个房间。每行代表一个客人姓名,并且有一个下拉菜单 (),其中包含所有其他客人的 ID 号作为选项。

当第一行的客人决定与客人 id=3 共享房间时,我希望第一行的下拉框显示 3,第三行显示一个,所有其他行都删除 1 和 3 选项从他们的选择框中。

我有下面的代码,但是 .not(this) 没有工作,任何关于原因的指示将不胜感激。

这是表格

<?php
for($a=0;$a<15;$a++)
{
echo "
<tr id=".($a+1)."><td>".($a+1)."</td>
<td><select name='title[]'>
<option value='Ms'>Ms</option>
<option value='Mrs'>Mrs</option>
<option value='Mr'>Mr</option>
<option value='Dr'>Dr</option>
</select></td>
<td><input type='text' name='firstname[]' size='10'></td>
<td><input type='text' name='lastname[]' size='10' ></td>
<td><input type='text' name='email[]'></td>
<td><input type='text' name='passport_no[]'></td>
<td><input type='date' name='dob[]' size='10'></td>
<td><select name='room_pref[]' class='room_pref'>
<option value='TWIN'>twin</option>
<option value='DOUBLE'>double</option>
<option value='SINGLE'>single</option>
</select></td>
<td><select name='share_w[]' class='share'>";
for($b=1;$b<16;$b++)
{
echo "<option value=".$b.">".$b."</option>";
}

echo "<option value ='ALONE'>Alone</option>
</select></td>
<td><input type='text' name='diet[]'></td>
<td><input type='text' name='allergies[]'></td>
</tr>";

?>

这是我的 jquery

$('.share').change(function(){
var shareW=$(this).val();
$(".share option[value="+shareW+"]").not(this).remove();
}):

最佳答案

this这里的意思是select不是option,需要在.share集合上申请not在选项上。

尝试

 $(".share").not(this).children("option[value="+ this.value +"]").remove();

您还可以避免在点击处理程序中反复创建 .share 集合。

var $share = $('.share');
$share.change(function(){
$share.not(this).children("option[value="+ this.value +"]").remove();
});

关于javascript - 从同一类的所有选择框中删除选项,但单击的除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20482857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com