так вот что я получил от вашего вопроса
вы хотите, чтобы ansers в первых вопросах стали значениями по умолчанию для вторых вопросов?
, так что это ваш пример, который я не делаюсам используй raw dom, так что это не будет полностью независимым от браузера
<html>
<head>
<script type="text/javascript" charset="utf-8">
var setup = function() {
var questionA = document.getElementById("question-a");
var checkboxesA = document.getElementById("checkboxes-a");
var questionB = document.getElementById("question-b");
var checkboxesB = document.getElementById("checkboxes-b");
questionA.onchange = function() {
questionB.selectedIndex = questionA.selectedIndex;
};
checkboxesA.onchange = function(e) {
var checkbox = e.srcElement;
var ele = document.getElementById(checkbox.getAttribute("data-question-id"));
ele.checked = checkbox.checked;
};
};
</script>
</head>
<body onload="setup()">
<div>
<div class="first-questions">
<h2> first question </h2>
<select id="question-a">
<option value="0">first</option>
<option value="0">second</option>
<option value="0">third</option>
</select>
<div id="checkboxes-a">
<input type="checkbox" data-question-id="something-first" value="first">first</input>
<input type="checkbox" data-question-id="something-second" value="second">second</input>
<input type="checkbox" data-question-id="something-third" value="third">third</input>
</div>
</div>
<div class="second-questions">
<h2> second question </h2>
<select id="question-b">
<option value="0">first</option>
<option value="0">second</option>
<option value="0">third</option>
</select>
<div id="checkboxes-b">
<input type="checkbox" name="question-b-first"
id="something-first" value="first">first</input>
<input type="checkbox" name="question-b-second"
id="something-second" value="second">second</input>
<input type="checkbox" name="question-b-third"
id="something-third" value="third">third</input>
</div>
</div>
</div>
</body>
</html>
идея состоит в том, что флажки в вопросе a имеют идентификатор вопросов, о которых идет речь b, но вы также можете найти их по соглашениюили добавьте события вручную для каждого флажка: D
, но если вы собираетесь делать какие-либо вещи, я рекомендую использовать фреймворк javascript ( jquery ), также проще получить хорошую документацию ....сеть полна ужасных необработанных javascript-материалов.
Edit -
ок, причина, по которой он не работает, вероятно, в этой строке var checkbox = e.srcElement;
thisшвы, чтобы отличаться в разных браузерах, изменяют это на
if (e.srcElement) {var checkbox = e.srcElement;} if (e.originalTarget) {var checkbox = e.originalTarget;}
и он работает для Firefox, но я не знаю об этом, то есть у меня его нет, но это хорошая причина использовать фреймворк, такой как http://wwww.jquery.com, для предотвращения различий в браузере
annyway
если вы хотите, чтобы он изменил значения при отправке, вам сначала нужно подписаться на это событие, а затем проверить, не ответили ли на вопросы в вопросах b, после этого код для изменения состояния элементов работает как впример