2010-11-17 102 views
0

我正在使用zend框架。我为表单添加了一个新的复选框元素。例如检查与值以zend格式在标签旁边添加文本框

ABC XYZ箱

当复选框被选中,我想追加一个文本框旁边被选中(标签标记结束后),每个复选框。我正在尝试为此使用jquery。任何人都可以帮助我解决这个问题。

回答

0

下面的函数在每个复选框被选中时添加一个新的文本输入,并且当复选框未被选中时删除文本输入。文本输入的名称基于复选框的名称。

jQuery(function($){ 
    var key = 'checkbox-master'; 
    $('input:checkbox').click(function(){ 
    var self = $(this); 
    var next = self.next(); 
    if (this.checked){ 
     if (next.data(key)!=this){ 
     var n = this.name+'-text'; 
     self.after($('<input type="text" name="'+n+'">').data(key,this);); 
     } 
    }else{ 
     if (next.data(key)==this) next.remove(); 
    } 
    }); 
}); 

我想知道,如果你真的想这样,但是,而不是只动态显示和隐藏有你想要的名称一些预先创建的文本输入。假设文本输入始终紧跟在代码中的复选框之后,那将更清洁:

jQuery(function($){ 
    $('input:checkbox').click(function(){ 
    $(this).next()[this.checked ? 'show' : 'hide'](); 
    }); 
});