因为我希望用户看到页面上的所有选项,否则我将使用复选框。
我正在从数据库查询填充无线电列表。
$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”被映射到标签值,并在html中输入“id”。还有一个隐藏的sectorid html元素。
<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捕获label/radio元素上的click事件,并更新隐藏的sectorid值。
->addOnLoad('$("input[name=\'sectorname\']").click(
function()
{
$("#sectorid").val(this.val);
});');
我的问题是'sectorname'和'sectorid'元素都是数值。jquery有没有方法可以获取label元素的字符串值,并将其设置为表单中的隐藏元素?