2010-11-17 1 views
0

Я использую zend framework. Я добавил новый элемент флажка для формы. Пример Флажок со значениямиappend текстовое поле рядом с меткой в ​​форме zend

AbC хуга

Когда флажок установлен, я хочу, чтобы присоединять текстовые поля рядом с каждым флажком, который проверяется (после закрытия маркирующего). Я пытаюсь использовать 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'](); 
    }); 
});