2015-07-22 1 views
0

Я закодировал страницу ASP, используя пример здесь, который показывает, сколько флажков отмечено в форме во всплывающем окне предупреждения. Проблема в том, что теперь у нас так много ящиков в форме, что навсегда требуется выбрать поле, закрыть предупреждение, проверить другое поле, закрыть предупреждение ... Я хотел бы изменить или заменить код, чтобы показать количество отмеченных ящиков в HTML-документе документа вместо предупреждения, обновляя счет, когда флажки отмечены или сняты флажки. Вот скрипт, используемый для подсчета ящиков и показать предупреждение:Показывает, сколько флажков формы проверено в самом документе

<script language="JavaScript"> 
function checkTotalCheckedBoxes() 
{ 
    var checkLength = 0; 
    var boxes = document.getElementById("yyy").getElementsByTagName("input"); 
    for (var i = 0; i < boxes.length; i++) 
    { 
     boxes[i].checked ? checkLength++ : null; 
    } 
    alert (checkLength + " boxes are checked."); 
} 
</script> 

У меня также есть «Select All» сценарий, который работает отлично подходит для выбора всех коробок сразу. Единственная проблема заключается в том, что флажок «Выбрать все» остается установленным после использования, даже если некоторые из ящиков были отменены. Мне нужно изменить сценарий, чтобы снять флажок «Выбрать все», когда пользователь нажимает на него, а затем отменяет выбор любого из отмеченных.

Вот этот скрипт:

<script language="JavaScript"> 
function toggle(source) { 
    checkboxes = document.getElementsByName('checkbox'); 
    for(var i=0, n=checkboxes.length;i<n;i++) { 
    checkboxes[i].checked = source.checked; 
    } 

     var checkLength = 0; 
    var boxes = document.getElementById("yyy").getElementsByTagName("input"); 
    for (var i = 0; i < boxes.length; i++) 
    { 
     boxes[i].checked ? checkLength++ : null; 
    } 
    alert (checkLength + " boxes are checked."); 
} 
</script> 

Большое спасибо за любую помощь вы можете предложить!

+0

Вместо предупреждения, почему бы вам не поставить метку на странице и обновить текст на этикетке. –

+0

@Dean, Это похоже на то, что я ищу, но мне никогда не приходилось это делать, поэтому я не понимаю, как это сделать. Можете ли вы представить пример кода или указать мне в правильном направлении? Тем временем, я попытаюсь найти пример здесь, как это сделать ... – Charles

+0

jQuery вариант? – Carlitrosss

ответ

0

без предоставления HTML-код, я могу только догадываться, что ваша страница расположение выглядит. С учетом этого, посмотрите на эту скрипту: https://jsfiddle.net/yxo6de48/

Он должен предоставить вам небольшое руководство, если не более того, о том, как добиться того, что вы ищете.

Javascript:

function checkTotalCheckedBoxes() 
{ 
    var checkLength = 0; 
    var boxes = document.getElementById("yyy").getElementsByTagName("input"); 
    for (var i = 0; i < boxes.length; i++) 
    { 
     boxes[i].checked ? checkLength++ : null; 
    } 
    document.getElementById("count").innerHTML = checkLength + " boxes are checked."; 
} 

function toggle(source) { 
    checkboxes = document.getElementsByName('checkbox'); 
    for(var i=0; i < checkboxes.length;i++) { 
    checkboxes[i].checked = source.checked; 
    } 
    checkTotalCheckedBoxes(); 
} 
+0

Это почти то, что я ищу, за исключением того, что флажок «Выбрать все» остается выбранным, если какой-либо из других флажков отменен после его использования. Благодаря! – Charles

+0

Попробуйте следующее: https://jsfiddle.net/5urz6387/ –

0

сделать этикетку:

<label id="lblTest" /> 

Установите текст:

document.getElementById("lblTest").innerHTML(//value here); 

или с JQuery:

$("#lblTest").text(//value); 
+0

Спасибо за пример! – Charles

Смежные вопросы