我正在使用Zend框架在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'被映射到标签值并在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元素的字符串值,并将其设置为我表单中的隐藏元素?
答案 0 :(得分:0)
试试这个
$("#sectorid").val($(this).parent().text());