2014-03-31 47 views
1

我有這樣的表格形式:直播()jQuery函數不能正常工作

<?php while($resulat = $sql_adherent->fetch_object()): ?> 
<tr> 
    <td class="highlight"> 
     <div class="important"></div> 
      <a href="#"><?php echo $resulat->nom_compte; ?></a> 
    </td>         
    <td class="hidden-xs"><?php echo $resulat->cin; ?></td> 
    <td class="hidden-xs"><?php echo $resulat->sexe; ?></td> 
    <td><?php echo $resulat->date_naissance; ?></td> 
    <td></td> 
    <td><?php echo $resulat->date_effet; ?></td> 
    <td><?php echo $resulat->date_expiration; ?></td> 
    <td><a href="#" class="btn default btn-xs red-stripe" id="validate">Validate</a></td> 
</tr>        

我要改變「驗證」,以「驗證」的onclick的ID =「驗證」 和我使用生活()函數來做到這一點,但它不工作

這裏是我使用的代碼:

$("#validate").live('click', function(e){ 
    e.preventDefault(); 

    $(this).addClass('green-stripe'); 
    $(this).removeClass('red-stripe'); 
    $(this).html('Validated');  
    }); 

我試圖改變代碼來切換「V alidate「&‘驗證’使用此代碼,

$("#validate").toggle(function(e){ 
    e.preventDefault(); 

    $(this).addClass('green-stripe'); 
    $(this).removeClass('red-stripe'); 
    $(this).html('Validated');  
    }, function(){ 
    $(this).addClass('red-stripe'); 
    $(this).removeClass('green-stripe'); 
    $(this).html('Validate'); 
}); 

,但也不起作用。我知道我做錯了什麼事,但可以」 T發現錯誤..

+1

您使用jQuery的哪個版本?閱讀https://api.jquery.com/category/deprecated/ –

+0

您是否嘗試過使用綁定? –

+0

我正在使用jquery-1.10.2.min – Mariem

回答

1

live已過時,所以不要嘗試使用它了,使用on代替。

toggle事件已被棄用anche不能再作爲點擊處理程序使用,在這種情況下,您可以檢查您的元素是否具有類作爲標識元素。

編號:

注意:此方法的簽名是用jQuery的1.8棄用,在jQuery的1.9去除 。 jQuery還提供了一個名爲 .toggle()的動畫方法,用於切換元素的可見性。 動畫或事件方法是否被觸發取決於通過的參數 的設置。

要切換類,您可以使用toggleClass與多個類。

代碼:

$("#validate").on('click', function (e) { 
    e.preventDefault(); 

    $(this).toggleClass('red-stripe green-stripe'); 

    ($(this).hasClass('red-stripe')) ? $(this).html('Validate') : $(this).html('Validated'); 
}); 

演示:http://jsfiddle.net/IrvinDominin/VyD6x/

+0

哦!謝謝,它正在工作,非常感謝你的幫助:) 祝你有美好的一天 – Mariem

0

.live已被棄用。改變你的js到這個。

$(document).on('click', '#validate', function(e){ 
e.preventDefault(); 

$(this).addClass('green-stripe'); 
$(this).removeClass('red-stripe'); 
$(this).html('Validated');  
}); 
+0

我使用。('click',function)但它只能在第一行工作,但不能錶行 – Mariem

+0

我不寫你的驗證,只是指出'.on'是綁定事件的正確方法 – mituw16

+0

,如果我想使用切換切換驗證和驗證? – Mariem