2016-03-30 7 views
0

Я копирую/вставляю этот код из другой страницы на своем веб-сайте. На первой странице все работает отлично, как-то не на второй странице ...siblings.removeclass не работает на изображении

Я пытаюсь создать пользовательскую функцию переключателя. На странице отображаются изображения (загруженные из моей базы данных с помощью mysqli_fetch_array). Пользователь может щелкнуть по этим изображениям. Как только пользователь нажимает на изображение, я хочу, чтобы javascript применял к этому образцу другой класс. Если пользователь нажимает другое изображение, я хочу восстановить класс первого изображения и применить класс к последнему кликнутому изображению.

Что у меня есть:

Script

$(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 не работает так, как должна. Сейчас он применяет класс при нажатии, он просто не удаляет всех братьев и сестер при щелчке другого изображения. Он сохраняет выбранный класс. Поэтому, если я нажимаю на все изображения, все изображения сохраняют свой выбранный класс.

Что мне не хватает? Что мне нужно настроить, чтобы удалить класс для всех братьев и сестер, кроме тех, которые были нажаты?

ответ

0

попробовать этот код, если вы не используете .bedragbol класса в любом другом элементе

В противном случае попробуйте этот

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

Это создает функцию, которую я хотел бы иметь. Тем не менее, я использую класс .bedragbol в другом другом элементе. Наверное, мне нужно создать для этого работу. –

Смежные вопросы