以zend形式在标签旁边添加文本框

时间:2010-11-17 05:37:21

标签: jquery zend-framework zend-form append

我正在使用zend框架。我为表单添加了一个新的复选框元素。示例复选框,其值为

ABC XYZ

当选中复选框时,我想在选中的每个复选框旁边附加一个文本框(在标签标签关闭后)。我试图使用jquery为此目的。任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分: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']();
  });
});