2017-01-14 3 views
0

Я пытаюсь создать определенный текст при нажатии на элемент, когда кнопка имеет определенный текст. однако тот же текст первого оператора if продолжает появляться.check button value jquery

это кнопка:

<button class="game-button">Start spel</button> 

Эти элементы таблицы:

<div id="speelveld"> 
      <table border="0"> 
       <tr> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
       </tr> 
       <tr> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
       </tr> 
       <tr> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
       </tr> 
      </table> 
     </div> 

и это Java-код:

$(".game-button").click(function(){ 
    $(".game-button").html("Reset spel"); 
}); 

if ($(".game-button").val() == "Start spel") { 
    $("#speelveld tr td").click(function() { 
     alert("Je kunt nog niet beginnen"); 
    }); 
} else { 
    $("#speelveld tr td").click(function() { 
     alert("hoi"); 
    }); 
} 

мой вопрос: как я могу сделать предупреждение, когда кнопка имеет определенный текст

+1

Вы связывание события внутри 'if'. Таким образом, регистрируется только событие внутри 'if' –

ответ

1

Вы устанавливаете обработчик на td на основе условия, которое никогда не выполняется.

Измените обработчик, чтобы проверить значение кнопки каждый раз, когда нажимается одна ячейка таблицы.

$(".game-button").click(function(){ 
    $(".game-button").text("Reset spel"); 
}); 

$("#speelveld tr td").click(function() { 
    if ($(".game-button").text() === "Start spel") {  
     alert("Je kunt nog niet beginnen"); 
    } 
    else { 
     alert("hoi"); 
    } 
}); 
0

Вы являетесь обязательным событием внутри if. Таким образом, только событие внутри if регистрируется

Это то, что вам нужно сделать:

$("#speelveld tr td").click(function() { 
     if ($(".game-button").html() == "Start spel") { 
     alert("Je kunt nog niet beginnen"); 
     } else {    
     alert("hoi");    
     } 

    });