Если у меня есть несколько флажков (например, ниже html-кода), которые, если флажок, показывают одни и те же данные в двух полях. Таким образом, простой пример - проверить «дополнительный монитор» и «visio» и показать «* Обязательный».Многие флажки переключаются показать/скрыть
HTML код:
<table>
<tr>
<td class="newemp_dataGLCCother">
<label for="gl_account">GL Acccount:</label>
<input name="gl_account" id="gl_account" type="text" maxlength="15" />
<label id="requiredgla" style="display:none"><font size="2" color="red">* Required</font>
</label>
</td>
</tr>
<tr>
<td class="newemp_dataGLCCother">
<label for="cost_center">Cost Center:</label>
<input id="" name="cost_center" id="cost_center" type="text" maxlength="15" />
<label id="requiredcc" style="display:none"><font color="red">*<font size="2"> Required</font></font>
</label>
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="non_standard_software" value="Additional Monitor" id="additional_monitor" onclick="showReq('requiredgla'); showReq('requiredcc')" />Additional Monitor</td>
</tr>
<tr>
<td>
<input type="checkbox" name="non_standard_software" value="AutoCAD" id="autocad" onclick="showReq('requiredgla'); showReq('requiredcc')" />AutoCAD</td>
</tr>
<tr>
<td>
<input type="checkbox" name="non_standard_software" value="MapPoint" id="mappoint" onclick="showReq('requiredgla'); showReq('requiredcc')" />MapPoint</td>
</tr>
<tr>
<td>
<input type="checkbox" name="non_standard_software" value="Visio" id="visio" onclick="showReq('requiredgla'); showReq('requiredcc')" />Visio</td>
</tr>
<tr>
<td>
<input type="checkbox" name="non_standard_software" value="Project" id="project" onclick="showReq('requiredgla'); showReq('requiredcc')" />Project</td>
</tr>
<tr>
<td class="newemp_dataGLCCother">
<input type="checkbox" name="non_standard_software" value="other" id="other" onclick="showReq('otherbox'); showReq('requiredgla'); showReq('requiredcc')" />Other:
<input name="other" id="otherbox" type="text" style="display:none;" />
</td>
</tr>
Javascript:
function showReq(id) {
var e = document.getElementById(id);
if (e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
Так с этим кодом, как есть, когда вы проверить нечетное количество элементов "* Обязательно" отображается, но если вы выбираете четное количество элементов, которые не отображаются.
Так что я думал, что если вы установите переменную в «истину» и поместите ее в функцию js, она устранит переключение, если вы выберете несколько элементов.
т.е.
function showReq(id) {
var dbl = true;
var e = document.getElementById(id);
if (e.style.display == 'block' && dbl === true)
e.style.display = 'none';
dbl = false;
else
dbl = true;
e.style.display = 'block';
}
Я знаю, что это не работает, но я искал что-то похожее на это. Пожалуйста, не используйте jQuery, если его полностью невозможно использовать JavaScript.
Значит, вы хотите, чтобы всегда отображались предметы? Просто не возвращайте его, чтобы отобразить «нет»? – PherricOxide
в некотором смысле, да. Более того, если вы проверите 1/2/3/4/5/6, он останется на экране, но при выборе всех из них он должен быть скрыт. – Benny