У меня есть форма с 4 наборами из 4 комбинированных списков, которые видны, когда сделаны разные выборы. Мне бы хотелось, чтобы 4 набора комбинированных списков помещали данные в 4 ячейки таблицы (по одной на каждый набор), игнорируя при этом остальные 3 пустых комбинированных списка.
Коробки расположены так, как показано ниже;
Lab set 1 - Sample Type 1 - Sample Type 2 - Sample Type 3 - Sample Type 4
Lab set 2 - Sample Type 5 - Sample Type 6 - Sample Type 7 - Sample Type 8
Lab set 3 - Sample Type 9 - Sample Type 10 - Sample Type 11 - Sample Type 12
Lab set 4 - Sample Type 13 - Sample Type 14 - Sample Type 15 - Sample Type 16
Только один выбор может быть сделан для каждой лабораторной установки в любое время, поэтому, если выбраны тип образца 1, тип образца 5, тип образца 11 и тип образца 12, остальные типы образцов будут равны NULL.
Мне бы хотелось, чтобы в каждом лабораторном наборе была только одна ячейка таблицы, чтобы впоследствии было легче отобразить данные, можно ли игнорировать нулевые значения и заполнить ячейки лабораторного набора 1, 2, 3, 4 только выбранные данные или я пытаюсь сделать невозможное?
Вот моя попытка кодирования на одном из выпадающих списков с отключенным свойством и скрытой видимостью;
<select name="Lab1" id="Lab1" style="visibility:hidden;" onChange="if (this.value=='Alpha Bio Labs'){this.form['Samp1'].style.visibility='visible'}if (this.value=='Alpha Bio Labs'){this.form['Samp2'].style.visibility='hidden'}if (this.value=='Alpha Bio Labs'){this.form['Samp1'].prop.disabled='false'}if (this.value=='Alpha Bio Labs'){this.form['Samp2'].prop.disabled='true'}">
<option selected>Lab</option>
<option value="Alpha Bio Labs">Alpha Bio Labs</option>
<option value="Cellmark">Cellmark</option>
<option value="DNA Legal">DNA Legal</option>
<option value="The Doctors Lab">The Doctors Lab</option>
</select>
OnChange код для видимости ниже;
//visible
if (this.value=='Alpha Bio Labs'){this.form['Samp1'].style.visibility='visible'}
//hidden
if (this.value=='Alpha Bio Labs'){this.form['Samp2'].style.visibility='hidden'}
Я написал дополнительный набор функций, который читается следующим образом:
//Active
if (this.value=='Alpha Bio Labs'){this.form['Samp1'].prop.disabled='false'}
//Not Active
if (this.value=='Alpha Bio Labs'){this.form['Samp2'].prop.disabled='true'}
Приведенный выше код будет проходить вдоль видимого кода, так как я хочу, чтобы неактивные функции были невидимыми, а мои тесты показывают, что неактивные функции все еще будут видны.
Я наткнулся на какой-то Javascript онлайн и попытался привести его в соответствие, я поместил код ниже;
var visopt = document.getElementsById('Samp1');
for(var strUser = visopt.options [visopt.selectedIndex] .style.visibility;) {
if(strUser.style.visibility='visible') {
visopt.disabled = true;
}
}
Я на правильном пути?