2013-07-23 93 views
0

我有一個div有一個事件來加載消息,但在該div是一個單選按鈕。我想要做的是停止div加載消息,如果該div中的單選按鈕被選中。我試過的是檢測單選按鈕是否被選中,如果是,則執行一些操作,否則顯示消息。問題是,它沒有做它應該做的事情。 我相信這是因爲它從來沒有達到一個單選按鈕的檢查狀態,因爲我先打到父分區加載消息。暫時取消綁定父事件jquery

這是我迄今爲止的代碼。

function loadMessage(messageId,id) 
{ 
    var radioId = 'c' + id; 
     if($('#'+radioId).is(':checked')){ 

    } else { 
     if(currentMail != messageId) { 
      currentMail = messageId; 
      var loc = 'ajax.php?ax=fetch-message&mx='+messageId; 
      messageContainer.load(loc); 
      $("#right").show(); 
      expandRight() 
     } else { 
      currentMail = ""; 
      minimizeRight(true); 
      $("#right").hide(); 
     } 
    } 
}` 

這裏的HTML:

<div onclick="loadMessage('5ca477dd1d',4152)" class="row2 mail-message"> 
<input type="checkbox" id="c4152" name="c4152"> 
</div> 

任何幫助將不勝感激。

+0

'$('').unbind();'解除綁定到該元素的所有事件。也檢查了這一點http://api.jquery.com/unbind/ – CodeHunter

+0

http://www.mkyong .com/jquery/jquery-bind-and-unbind-example/ – CodeHunter

回答

0

第一件事是,它是複選框沒有無線電

我想解決你的問題從div刪除checkbox因爲當你clickdivcheckbox is automatically clicked

嘗試像,

<div onclick="loadMessage('5ca477dd1d',4152)" class="row2 mail-message"> 
</div> 
<input type="checkbox" id="c4152" name="c4152"> 

另外,可以bindclick eventcheckbox而不是div element

一樣,

<div class="row2 mail-message"> 
    <input onclick="loadMessage('5ca477dd1d',4152)" type="checkbox" id="c4152" name="c4152"> 
</div> 

此外,從你的code我無法理解有關messageContainer

+0

這就是設計師給我的模型。有沒有辦法做到這一點使用我提供的HTML? – jkushner