Ошибка при передаче значений флажка в функцию Javascript

0

У меня есть флажок, в котором хранятся значения из таблицы базы данных. Поэтому он содержит массив значений, когда я показываю их на своей странице.

<input type="checkbox" id="chkdelt[<?php echo $id; ?>]" name="chkdelt[]" value="<?php echo $id;  ?>">

Выше приведен код.

У меня есть всплывающий блок, который показывает количество проверенных флажков.

  <div class="popup">

    Show count here <span id="numb"></span>
<button type="button" onclick="paz(<?php echo json_encode(chkdelt); ?>);">Click</button>
    </div>

И я могу показать счет успешно, используя эту функцию javascript, приведенную ниже.

  // used to show number of checked checkboxes in popup
            function dumpInArray(){
                var arr = [];
                $('.table-responsive input[type="checkbox"]:checked').each(function(){
                    arr.push($(this).val());
                });
                return arr.length;  //returns no of checked check boxes


            }

            $('.select_chk').click(function () {
                $('#numb').html(dumpInArray());  // output of dumpInArray() written into numb span

            });

И я пытаюсь передать этот массив функции Javascript, щелкая по кнопке внутри всплывающего окна.

Мой Javascript приведен ниже:

function paz(a)
            {
                var temp = new Array();
                temp = JSON.parse(a);
                for(i=0;i<temp.length;i++)
                {
                    alert(temp[i]);
                }
            }

Значения не передаются в paz() в Javascript. Отдых отлично работает. Я хочу передать значения всех отмеченных флажков в paz(), когда я нажимаю кнопку во всплывающем div.

Благодарю. Помогите???

Теги:
checkbox

1 ответ

0
Лучший ответ

Вам нужно передать аргумент функции JavaScript как строку.

Вы передаете их как переменную, которая, в свою очередь, станет undefined.

Чтобы передать аргумент в виде строки, используйте function_name('arg') или function_name("arg").

Таким образом, при изменении кода:

<button type="button" onclick="paz(<?php echo json_encode(chkdelt); ?>);">Click</button>

в

<button type="button" onclick="paz('<?php echo json_encode(chkdelt); ?>');">Click</button>

Также я предлагаю вам использовать <input type="button"/> Вместо <button> и я думаю, что если chkdelt - это переменное имя в php, вам нужно будет использовать знак $ перед ним и использовать json_encode($chkdelt).

Надеюсь, это тебе поможет.. Приветствия!

  • 0
    Без изменений ... Когда я нажимаю эту кнопку удаления ... значение не передается в JavaScript. Если бы значение было передано, то в предупреждении отобразились бы значения @Vedant Terkar
  • 0
    @TheJoker Можете ли вы опубликовать фактический вывод html после обработки php ? В вашем браузере откройте эту страницу php а затем используйте view source чтобы получить актуальный html . Или просто попробуйте предупредить a в вашей function paz(a) что является выходом a ?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню