2013-07-17 4 views
0

Есть ли способ присвоить значение флажка в виде массива.Назначить индивидуальное значение флажка как массив

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

Я попытался создать массив ints (ids) из массива моих объектов, используя простой цикл, а затем используя print_r в значении (я знаю, что это немного уродливо, и я могу понять, почему это не сработает но не может найти правильный синтаксис).

$arrAllID = array(); 
foreach ($AvailableGroups as $objASRDCallBackGroup) 
{ 
    $arrAllID[] = $objASRDCallBackGroup->m_iGroupID; 
} 

<input id="group-name" value="<?php print_r($arrAllID) ?>" name="SelectedGroups[]" type="checkbox">All 

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

Любая помощь очень получена.

Благодаря

+0

Вы должны просто дать ему 'имя = "allChecked"', а затем проверить его в форме сценария, после 'если (Исеть ($ _ POST [ 'allChecked'])) {}' – Brewal

+0

Да это один но я хочу избежать, поскольку он соединяет два файла вместе, то есть переход из allChecked во все группы обеспечивает изменение в двух местах. Если это неизбежно, я пойду с этим. Спасибо за ваш вклад, хотя и очень ценим! – Yos

+1

Я действительно не понимаю, почему вы должны положить все эти идентификаторы в значение ... Они не будут полезны для почтового сценария. Если вы хотите проверить все флажки, нажав на этот, перейдите на javascript-решение. – Brewal

ответ

0

Вы можете использовать атрибут данных HTML5 для хранения массив значений. Я не очень хорошо знаком с PHP, но атрибут data будет отображаться на клиенте, и если этот флажок будет нажат, вы можете пропустить массив в атрибуте данных и сделать все, что вам нужно, чтобы отправить данные обратно на сервер.

<input id="group-name" data-allid="<?php print_r($arrAllID) ?>" name="SelectedGroups[]" type="checkbox">All 

function someClickHandler() { 
    var chkGroupName = document.getElementById('group-name'); 
    var allIds = chkGroupName.attr('data-allid'); 
    // do what you need with the array of ids. 
} 
+0

Привет, это хорошее решение. Я буду изучать что-то подобное или изменить свой дизайн на что-то более подходящее .. Спасибо – Yos

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