siblings.removeclass没有';我不处理图像


siblings.removeclass doesn't work on image

我将此代码从我的网站上的另一个页面复制/粘贴。在第一页上一切都很好,但不知何故,在第二页上却没有。。。

我正在尝试创建一个自定义单选按钮功能。该页面显示图像(使用mysqli_fetch_array从我的数据库加载)。用户可以点击这些图像。一旦用户单击一个图像,我希望javascript将另一个类应用于该图像。如果用户单击另一个图像,我希望恢复第一个图像的类,并将该类应用于最近单击的图像。

我所拥有的:

脚本

$(window).load(function(){
    $('.bedragbol').click(function() {
        var bedragid = $(this).data("bedragid");
        $(this).addClass('bedragbol_select').siblings().removeClass('bedragbol_select');
        document.getElementById("kosten").value = bedragid;
    });
});

PHP

<table width="100%">
<? while($rows_bedrag=mysqli_fetch_array($sql_bedrag,MYSQLI_ASSOC)){ ?>
<tr>
<td class="img_programmaker_dag">
<img src="../images/<? echo $rows_bedrag['url']; ?>.png" data-bedragid="<? echo $rows_bedrag['id']; ?>" class="bedragbol"> 
</td>
<td>
<font class="txt_programmaker_dag">
<? echo $rows_bedrag['omschrijving']; ?>
</font>
</td>
</tr>
<? } ?>
</table>
<br><br>
<input type="text" id="kosten" name="kosten">

我添加了输入字段以查看该函数是否有效。每次单击图像时,该值都会更新。这很好用。只是css部分没有正常工作。现在,它确实在单击时应用了一个类,只是在单击另一个图像时不会删除所有同级。它保留所选的类。因此,如果我点击所有图像,所有图像都会保留其选定的类。

我错过了什么?我需要做什么调整才能将类删除到除已单击的类之外的所有同级?

如果您没有在任何其他元素中使用.bedragbol类,请尝试此代码

$('.bedragbol').click(function() {
  var bedragid = $(this).data("bedragid");
  $('.bedragbol').removeClass('bedragbol_select');
  $(this).addClass('bedragbol_select')
  document.getElementById("kosten").value = bedragid;
});

否则,请尝试此

$('.bedragbol').click(function() { 
  var bedragid = $(this).data("bedragid"); 
  $(this).siblings().removeClass('bedragbol_select'); 
  $(this).addClass('bedragbol_select') 
  document.getElementById("kosten").value = bedragid;
});