使用Zend_Dojo_Form通过checkBox禁用inputFields

时间:2011-11-11 11:25:23

标签: zend-framework dojo zend-form

我正在扩展使用Zend_Dojo创建的表单,为此我有一项特殊任务,我很难解决。

表单仅供购买,由两个地址组组成:payerAddressGroupdeliveryAddressGroup

这两个组是分开的,因此您可以定义两个单独的地址。虽然payerAddressdeliveryAddress相同,但多次出现。

所以我想通过添加一个可以禁用deliveryAddressGroup的复选框来解决此任务,并且通过复选框的值仅使用payerAddress

表单创建的扩展名为Zend_Dojo_Form

我希望它有意义!

感谢。

我希望它有意义吗?

1 个答案:

答案 0 :(得分:1)

您可以观看'已检查'属性。

dojo.ready(function() {
    dijit.byId('shipAsPayCheckBox').watch('checked', function(property, oldValue, newValue) {
        dojo.forEach(dijit.findWidgets(dojo.byId('fieldset-deliveryGroup')), function(w) {
            w.set('disabled', oldValue);
        });
    });
});

你的标记看起来应该是这样的。

<input id="shipAsPayCheckBox" name="shipAsPayCheckBox" dojoType="dijit.form.CheckBox" value="1" type="checkbox" /> 
<fieldset id="fieldset-deliveryGroup">
    <button dojoType="dijit.form.Button" type="button">Button</button>
    <label for="income1">
    U.S. Dollars
    </label>
    <input type="text" name="income1" id="income1" value="54775.53" dojoType="dijit.form.CurrencyTextBox" required="true" constraints="{fractional:true}" currency="USD" invalidMessage="Invalid amount.  Cents are required.">
</fieldset>