Вот проблема: я пытаюсь проверить и снять флажки с помощью группы.Я не могу установить глобальную переменную в следующем коде. Что я делаю не так?
Так что, если вы выберете G1 и G2, оно выдает сообщение о том, что вы не можете смешивать группы. Если вы снимете все из них, я пытаюсь очистить существующую группировку, и там, где код, похоже, терпит неудачу.
Любые мысли? (Также, я мог бы быть с неправильное представление о том, что глобальной переменной в самом начале. Поэтому, пожалуйста, предложить)
<HTML>
<script language="javascript">
var prodSel="";
function VerifyGroup(a,b)
{
ClearAllSelectionsA(); // check if this is the last unselect and clear the prodSel variable
if (prodSel == "")
{
prodSel = a;
}else
{
if (prodSel != a)
{
alert ("Please ensure that the groups are same for the items you select");
//alert(b);
document.getElementById(b).checked = false;
}
}
}
function ClearAllSelections()
{
var inputs = document.getElementsByTagName("input");
var cbs = [];
for (var i = 0; i < inputs.length; i++)
{
if (inputs[i].type == "checkbox")
{
inputs[i].checked = false;
}
}
prodSel=""; // Clear the variable; allow new selections
}
/*loop through and if all of them are unchecke,d clear the variable*/
function ClearAllSelectionsA()
{
var clre = true;
var inputs = document.getElementsByTagName("input");
var cbs = [];
for (var i = 0; i < inputs.length; i++)
{
if (inputs[i].type == "checkbox")
{
if (inputs[i].checked){clre= false;}
}
}
if (clre){
prodSel=""; // Clear the variable; allow new selections
alert(window.prodSel);
}
}
</script>
<body>
G1<input type="checkbox" value="zxc" id="12" onclick="javascript:VerifyGroup('g1',12);"><BR>
G1<input type="checkbox" value="zxcw" id="123" onclick="javascript:VerifyGroup('g1',123);"><BR>
G1<input type="checkbox" value="zxcdw" id="124" onclick="javascript:VerifyGroup('g1',124);"><BR>
G2<input type="checkbox" value="zxcf" id="125" onclick="javascript:VerifyGroup('g2',125);"><BR>
G2<input type="checkbox" value="zxcfg" id="126" onclick="javascript:VerifyGroup('g2',126);"><BR>
<a href="#" onclick="ClearAllSelections();">clear group</a>
</body>
</html>
ОК, теперь мы знаем, что вы хотите. Код, который вы опубликовали, делает это? Если нет, то что работает по-другому, чем вы думали? – Steve
Нет, код не очищает группировку при последнем снятии флажка. Поэтому вызов функции ClearAllSelectionsA не позволяет сбросить переменную до "". поэтому я должен вручную включить четкую функцию. – schar
Я думаю, что это может иметь какое-то отношение ко всему, что ваш идентификатор является числовым. Попробуйте положить письмо перед всеми вашими идентификаторами и передать новую строку в качестве второго параметра в 'VerifyGroup'. [Атрибут id должен содержать букву] (http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute-in-html/79022#79022) – jonhopkins