2017-06-17 60 views
0

嘿,我嘗試了這麼多,並沒有找到解決方案。我儘可能簡化了我的解決方案。切換'td'(html元素),以便它可以從類中更改。 (實際上這是一個開始做更多的東西)阿賈克斯 - 在Wordpress中打電話兩次...我尋找其他答案,但沒有找到解決方案

我把兩個'console.log'行在檢查器中的一種調試,你會看到它引發了兩次。

如果我將enque-line放入評論中,它會觸發一次,但我得到一個令人討厭的錯誤消息。

希望有人能幫助我, 在此先感謝

<script> 
 
/* functions.js */ 
 
jQuery('td').click(function() { 
 
    if (jQuery(this).hasClass('not_active')) { 
 

 
      jQuery(this).removeClass('not_active').addClass('active'); 
 
      toggle=1; 
 
      console.log('toggle ----> '+ toggle); 
 
      
 
     } 
 
     else { 
 
       jQuery(this).removeClass('active').addClass('not_active'); 
 
       toggle=0; 
 
       console.log('toggle ----> '+ toggle); 
 
     } 
 

 
     jQuery.ajax({ 
 
       type: 'POST', 
 
       url: ajaxurl, 
 
       dataType:'json', 
 
       data: { action: 'save_Settings', 
 
         App_active: toggle 
 
       }, 
 
       success: function (response) { 
 
        console.log(WorkingHoursAction.success); 
 
       } 
 
     }); 
 
}); 
 

 
</script>
/* style.css */ 
 
.Working{ 
 
    color:white; 
 
    background-color: green; 
 
} 
 
.NotWorking{ 
 
    background-color: white; 
 
    color:black; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="table"> 
 
     <thead> 
 
      <tr> 
 
       <th></th> 
 
       <th class="hidden-xs hidden-sm">#</th> 
 
       <th>Actie</th> 
 
      </tr> 
 

 
     </thead> 
 
     <tbody id="Confirmed"> 
 
      <tr> 
 
       <?php for($rw=0;$rw<7;$rw++){ 
 
          
 
          ?><td class="text-center day-hour notWorking" ><?php echo $rw; ?></td><?php 
 
        } 
 
       ?> 
 
             
 
     </tr> 
 
      </tbody> 
 
    
 
</table> 
 

 

 
<?php 
 

 
function OIC_enqueue(){ 
 
    wp_enqueue_script('OCI_jquery', plugins_url('js/functions.js',__FILE__),array('jquery'),'1',true); 
 
    wp_enqueue_style('OCI_style',plugins_url('css/style.css',__FILE__)); 
 
    
 
    wp_enqueue_script('OCI_ChangeToggle',plugins_url('js/functions.js',__FILE__), 
 
       array('jquery'),'1',true); 
 
    wp_localize_script('OCI_ChangeToggle','ToggleAction',array(
 
       'security' => wp_create_nonce('ChangeWhours'), 
 
       'success' => 'ChangeWorkinghours OK')); 
 
} 
 

 
add_action('admin_enqueue_scripts','OIC_enqueue'); 
 

 
function ToggleAction(){ 
 
    
 
     global $wpdb; 
 

 
     $tblName = 'Settings'; 
 
     $active=stripslashes_deep($_POST['App_active']); 
 

 
      $Data = array('App_active'  => $active); 
 

 
      $condition = array('id'=> 1); 
 
      
 
      $wpdb->update('WorkingTimes', $WorkingHoursData, $condition, array('%s', '%d', '%d'), array('%s','%d')); 
 
      exit; 
 
} 
 
add_action('wp_ajax_save_Settings','ToggleAction'); 
 

 
?>

回答

0

根據你的代碼好像你添加js/functions.js兩次。

你可以檢查一下。

+0

是的,一旦觸發'td'.click'和另一個連接ajax到函數。 –

+0

非常感謝,我真的很想我必須做兩次,... –