JQuery сломанная функция после добавления новой функции - PullRequest
1 голос
/ 26 апреля 2010

Что здесь не так? Функция оповещения работала до тех пор, пока я не добавил эту новую функцию.

Что-то я делаю не так? Просто он больше не срабатывает.

<input value="1"  type="checkbox" name="salgsvilkar" id="checkbox2"  style="float:left;"
        />

    {literal}
             <script src="http://code.jquery.com/jquery-latest.js"></script>
                <script type="text/javascript">
    $(function() {
       //checkbox
       $("#scrollwrap").click(function(){
        $("#scrollwrap").toggleClass('highlight');
        });​
    });

    $(function(){
       //button
       $("#fullfor_btn").click(function(e){
           if(!$("#checkbox2").is(':checked') == false)
           {
               alert("Please accept the terms of sale."); 
               e.preventDefault();
           }
       });
     });
    </script>
      {/literal}


<button type="submit" class="submit" name="{$method}" id="fullfor_btn" title="Fullfør bestillingen nå" value="">&nbsp;</button>

Ответы [ 4 ]

2 голосов
/ 26 апреля 2010

Вместо:

if(!$("#checkbox2").is(':checked') == false) {

почему бы просто не использовать гораздо более читабельное:

if($("#checkbox2").is(':checked')) {

РЕДАКТИРОВАТЬ: если вы хотите, чтобы оповещение сработало, когда флажок не установлен:

if(!$("#checkbox2").is(':checked')) {
1 голос
/ 26 апреля 2010

Ваша логика, вероятно, не соответствует вашим намерениям, как сказал karim79.

if(!$("#checkbox2").is(':checked') == false)

по функции идентичен

if($("#checkbox2").is(':checked') == true)

, поэтому ваше оповещение будет срабатывать только при установленном флажке.

0 голосов
/ 26 апреля 2010

У меня работает.

Хотя кажется немного странным, что вы активируете предупреждение, когда флажок установлен, а не когда он не установлен.

0 голосов
/ 26 апреля 2010

вы можете поместить весь свой код в один и тот же $ (function () {code}) в вашем примере, вы готовите документ дважды

 $(function() {
   //checkbox
   $("#scrollwrap").click(function(){
    $("#scrollwrap").toggleClass('highlight');
   });​

   //button
   $("#fullfor_btn").click(function(e){
       if($("#checkbox2").is(':checked'))
       {
           alert("Please accept the terms of sale."); 
           e.preventDefault();
       }
   });
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...