2014-08-29 76 views
-1

contact_container div持有聯繫人孩子,在這些孩子內部是一個複選框。我使用ajax將這些孩子追加到容器中。一旦我追加html並點擊孩子複選框。 。點擊無法識別新添加的複選框,只有孩子在頁面加載時工作。以下是我的HTML和Jquery的樣本。在jquery中添加複選框元素後點擊不工作

您可以提供一個解決方案,以便點擊時附加複選框?由於

這裏是我的HTML標記:

<div id="contact_container"> 
    <div class="contact"> 
     <div class="contact_checkbox"> 
      <div class="checkbox_container"> 
       <div class="checkbox"> 
        <input class="testing_checkbox" type="checkbox" name="contacts[]" value="bf6b0049059ec8998601f8fe20acb68ecafe2d44"> 
       </div> 
      </div> 
     </div> 
     <div class="contact_info"> 
      <div class="contact_image"> 
       <img src="image.jpg" width="50" height="50" alt="Profile Picture"> 
      </div> 
      <div class="contact_name"><span>Caroline Airey</span> 
      </div> 
     </div> 
    </div> 
</div> 
<div id="x_message" class="inputdata" style="overflow: hidden; display: none;"> 
    <label>Message:</label> 
    <span><textarea name="x_message" placeholder="Enter a message to send to your contact(s)"></textarea></span> 
    <div class="clear"></div> 
    <button class="form_button">Add Contact to Network</button> 
</div> 

這裏是我的Jquery:

$(".checkbox").click(function() { 
    var checked = $('.testing_checkbox:checked').length; 
    $('#testing').val(checked); 
    if (checked > 0){ 
     $('#x_message').show(1000); 
    } 
    else{ 
     $('#x_message').hide(1000); 
    } 
}); 
+0

可能html代碼的html元素重複的[在jQuery中,如何將事件附加到動態html元素?](http://stackoverflow.com/questions/1359018/in-jquery-how-to-attach-events-to-dynamic-html-elements) – xDaevax 2014-08-29 12:48:00

回答

3

您需要家長參考元素正確綁定到的jQuery試試這個

$(parentObj).on("click",".checkbox",function() { 
var checked = $('.testing_checkbox:checked').length; 
$('#testing').val(checked); 
if (checked > 0){ 
    $('#x_message').show(1000); 
} 
else{ 
    $('#x_message').hide(1000); 
} 
}); 

parentObj是div或已附加了Ajax調用

+0

謝謝,我將這個標記爲答案,因爲parentObj的解釋,那就是我錯了!我綁定了父div而不是我附加了html代碼的元素。信譽++ – cwiggo 2014-08-29 12:54:44

1

使用此jQuery的方法來代替:

$(".checkbox").on("click", function() 
{ 
    // Your code here 
}); 

這會吸引點擊的元素會在最初加載後動態添加到您的頁面:)

相關問題