问题
I'm trying to apply functions on loaded element, I search the web but i don't understand what to do.
Can anyone tell me what to do?
Example:
<script>
// checkbox cheque
$("#cheque").click( function () {
if($("#cheque").is(":checked"))
{
//alert('Cheque is checked');
$("#load_cheque").load("./server/mode_paiement.php?cheque=1");
}
else
{
//alert('Unchecked Cheque!!');
$("#load_cheque").empty();
}
});
</script>
And this is the element to load:
<label for=" echeance " class="form-label size-120 fl-space2">Echéance: <span class="required">*</span></label>
<input type="text" id="echeance" class="required text fl-space2 datepicker-inline" name="echeance" />
as you notice there is "datepicker-inline" .. the probleme is that datepicker is not working on the loaded input
Thanks :)
回答1:
You should use 'live' when binding your datepicker, like this:
$('.datepicker-inline').live('click', function() {
$(this).datepicker({showOn:'focus'}).focus();
});
(shamelessly lifted from this other question)
Otherwise, your datepicker-binding code will not see the new elements to convert to datepickers (they did not exist when it first ran), and you get your current behaviour.
回答2:
You can put a callback in the load
call, which will be called when the new content has been added:
$("#load_cheque").load("./server/mode_paiement.php?cheque=1", function(){
// Here you can fix the loaded content
});
来源:https://stackoverflow.com/questions/6186483/apply-jquery-functions-to-loaded-elements