У меня есть следующее:
somefile.php
$("document").ready(function() {
var handler = function(data) {
var JsDiv = document.getElementById("somediv");
JsDiv.innerHTML = data;
};
$("input[type='checkbox']").change( function() {
console.log("execute lots of code in this function");
//I need to execute this part again with the new checkboxes
//.
//.
//.
//and then
$.ajax({
url: "ajaxFile.php",
success: function(data, textStatus, XMLHttpRequest) { handler(data); }
});
});
});
<div id="somediv">
<input type="checkbox" id="someid1" value="anything1" /> checkbox1
<input type="checkbox" id="someid2" value="anything2" /> checkbox2
</div>
ajaxFile.php
echo "<br>
<input type='checkbox' id='someid3' value='anything3' /> checkbox3 <br /><br>
<input type='checkbox' id='someid4' value='anything4' /> checkbox4<br>
";
Проблема в том, что $ ("input [type = 'checkbox']"). Change (function () {}) выполняется очень хорошо, когда я впервые загружаю страницу, но после того, как новые флажки были загружены через ajax они не привязаны к этой функции. Я видел кое-что о bind () и live (), но не совсем понял, как связать новые флажки с функцией, которую я уже определил. Мне нужно выполнить некоторый код, который находится внутри .change (). Я бы извлек этот код из .change () и впоследствии вызвал эту функцию, но я не слишком уверен, как это сделать.
Если мой вопрос неясен, пожалуйста, дайте мне знать, и я перефразирую. Спасибо за вашу помощь.