Zend Radio Element和Jquery Selector获取ID和值

时间:2009-12-18 11:58:41

标签: jquery zend-framework

我正在使用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元素的字符串值,并将其设置为我表单中的隐藏元素?

1 个答案:

答案 0 :(得分:0)

试试这个

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