Zend Radio Element и Jquery Selector, чтобы получить ID и значение - PullRequest
0 голосов
/ 18 декабря 2009

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

$sectorname = new Zend_Form_Element_Radio('sectorname');
$sectorname->setLabel('Sector');
$sectorname->setSeparator(' ');
$sectorTable = new Model_DbTable_Sector();
$sectors = $sectorTable->listSectors();
foreach($sectors as $sector)    
{
    $sectorname->addMultiOption($sector->id,$sector->name);
}
$sectorname->setDecorators($decors);
$this->addElement($sectorname);

$sectorid = new Zend_Form_Element_Hidden('sectorid');
$sectorid->setDecorators($decors);
$this->addElement($sectorid);

HTML-код, который создается, выглядит следующим образом: вы можете видеть, что вышеприведенные секторы «id» и «name» сопоставляются со значением метки и вводят «id» в html. И есть скрытый html элемент sectorid.

<tr>
<th>Sector</th>
<td>
<label for="sectorname-1"><input name="sectorname" id="sectorname-1" value="1" type="radio">Accountants</label>
<label for="sectorname-36"><input name="sectorname" id="sectorname-36" value="36" type="radio">Admin</label>
<label for="sectorname-2"><input name="sectorname" id="sectorname-2" value="2" type="radio">Agriculture</label>
<label for="sectorname-5"><input name="sectorname" id="sectorname-5" value="5" type="radio">Architects</label> 
<label for="sectorname-11"><input name="sectorname" id="sectorname-11" value="11" type="radio">Army</label>
<label for="sectorname-48"><input name="sectorname" id="sectorname-48" value="48" type="radio">Undefined</label></td>
<input name="sectorid" value="" id="sectorid" type="hidden">            
</tr>

В настоящее время я использую JQuery для захвата события click на элементе label / radio и обновления скрытого значения sectorid.

->addOnLoad('$("input[name=\'sectorname\']").click( 
    function() 
    {   
        $("#sectorid").val(this.val);
    });');

Моя проблема в том, что элементы 'sectorname' и 'sectorid' будут иметь числовые значения. Есть ли способ с jquery, что я могу получить строковое значение элемента метки, и установить его на скрытый элемент в моей форме?

1 Ответ

0 голосов
/ 18 декабря 2009

Попробуйте это

$("#sectorid").val($(this).parent().text());
...