Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Не срабатывет кликл


Автор: =Женек= 19.8.2017, 11:47
Код


<style type="text/css">
 .alternate_color { background-color: #f5f5dc; }
 .color_table th, .first_tr { background-color: #aaddee; }
 .hover_color { background-color: #ffff00 !important; }
 .click_color { background-color: #90ee90 !important; }
</style>
................................

<script type="text/javascript">
$(document).ready(function(){
$(".color_table tr:not(.first_tr)").hover(function(){
   $(this).addClass("hover_color");
}, function(){
    $(this).removeClass("hover_color")
});

$(".color_table tr:not(.first_tr)").click(function(){
    $(this).toggleClass("click_color");
    alert('Проверка');
}, function(){
   $(this).removeClass("click_color")
});
});
</script>

............................


print "
        <table class=\"color_table\" border={$border2} bordercolor=red width=100% height=100% cellspacing=10 cellpadding=10 rules={$rules}>
                <tr class=\"first_tr\" >
                  <td>Дата </td><td>Автор</td><td>Название</td>
                </tr>";


       $recipes_query=mysql_query("SELECT * FROM recipes_temp WHERE checked=0 ORDER BY post_date",$GLOBALS['connection']);
        while ($item=mysql_fetch_array($recipes_query))
          {
            print "<tr>
                    <td>{$item['post_date']}</td><td>{$item['user_id']}</td><td>{$item['caption']}</td>
                  </tr>";

          } 
                
                print "<tr valign=top height=100%></tr>
                </table>
                ";



При наведении цвет меняется на hover_color
При клике ни смены цвета на click_color, ни срабатывания алерта не происходит.
В чем дело?

Автор: =Женек= 19.8.2017, 13:00
Хм... получилось когда убрал выделенное жирным.

Код

$(".color_table tr:not(.first_tr)").click(function(){ 
    $(this).toggleClass("click_color"); 
    alert('Проверка'); 
}, function(){ 
   $(this).removeClass("click_color") 
}); 


У меня тогда следующий вопрос - а как при нажатии на одну из ячеек убрать выделение со всех остальных?
Я попробовал так
Код

$(".color_table ").removeClass("click_color");

понимая под color_table всю таблицу - не получилось.

Автор: ksnk 21.8.2017, 15:20
=Женек=, одно пожелание. Не считай присутствующих богами. Мы не можем вот так сразу глядя на огрызки чужого кода, сказать где ошибка. Мы все занятые и ленивые люди. Лучше всего - оформи свой вопрос, чтобы занятый и ленивый человек, все таки остановился и ответил на твой вопрос... Ну или хотя бы понял о чем он. smile
JsFiddle.net - там можно слепить тестовую страничку, разместить тут ссылку на нее и спросить в лоб - а что оно кликается не так как я задумывал? Таких тестовых калькуляторов много, про sql, php и т.д. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)