Вы загружаете вывод своего скрипта непосредственно в тело, следовательно, вы делаете все предыдущее содержимое тела (включая ваши флажки) исчезающими.Я предполагаю, что это то, что вы испытываете.
Что вам нужно сделать, так это выделить выделенный блок для содержимого, сгенерированного скриптом, и использовать этот блок в качестве цели вашей функции загрузки.1005 *
<body>
<div id="controller">
<input type="checkbox" name="toto" id="toto"></input> Load / unload content
</div>
<div id="target">
Content comes here
</div>
</body>
JavaScript:
$('input:checkbox').change(function(){
if ( $(this).is(':checked') ) {
var target_url = "../cgi-bin/essai.pl?param="+$(this).attr('name');
$('div#target').load(target_url);
}
else {
$("div#target").html('');
}
});
Я бы также воздержался от определения относительного пути типа "../cgi-bin/" и использовал бы вместо него абсолютный путь.
Рабочий пример доступен по адресу http://jsbin.com/izuni4/19
РЕДАКТИРОВАТЬ Похоже, я не совсем понял, чего вы пытались достичь.Вот отредактированная версия того же javascript, который добавляет / удаляет блоки контента, запускаемые несколькими флажками.Надеюсь, что решит вашу проблему:
http://jsbin.com/izuni4/22/