2012-02-27 2 views
2

У меня есть научные статьи, которые я хочу записать. каждая статья имеет множественные ссылки (до 100), а ссылка может быть книгой или статьей. если ссылка - это книга, у меня есть имя автора книги, номер страницы книги и т. д. если это статья, то я должен получить опубликованный журнал статьи, опубликованный год статьи и т. д. (там являются отличиями).Создайте больше divs, которые показывают текстовые поля после опции, выбранной с помощью jquery

поэтому, я хочу, чтобы пользователь выбирал, если это статья или книга из выпадающего меню. то соответствующие текстовые поля будут видны. пользователь заполняет связанную информацию и ссылку 1 в порядке. то он будет нажать кнопку Добавить, чтобы добавить ссылку на другую, так что он видит первый будет выпадающее меню первым, он выбирает опцию, и появляются связанные Textboxes .. вот что у меня есть,

HTML:

<div id="content">  
<select id="select"> 
       <option value="">-chooese-</option> 
       <option value="article">article</option> 
       <option value="book">book</option> 
    </select> 

    <input class="article" name="ref_author_name[]" type="text" id="ref_author_name" /> 
    <input class="article" name="ref_article_title[]"type="text" id="ref_article_title" />  
    <input class="book" name="ref_author_name[]" type="text" id="ref_author_name" /> 
    <input class="book" name="ref_thesis_title[]" type="text" id="ref_thesis_title" /> 
    <input class="button-a" type="button" value="add"/> 
</div> 

JQuery

$(function() { 
     $('#select').change(function() { 
      $("input").hide().filter("." + $(this).find("option:selected").val()).show(); 
      $(":button").show(); 
     }); 
     $(":button").click(function(){ 
      $('#content').clone().add('#content').appendTo(document.body); 
     }); 
    }); 

теперь, что случается, когда я выбираю книгу (первая ссылка), появляются связанные текстовые поля, если я изменить возможность заказать, появляются связанные книги Textboxes. в первом поле выбора нет проблем.

но, когда я нажимаю кнопку добавления, появляется новое раскрывающееся меню (2-я ссылка), и я выбираю вариант, похожие текстовые поля появляются снова. НО, все изменения в выборе, включая первый выбор.

Я очень новичок в jQuery, и я думаю, что может возникнуть крошечная проблема, но я не могу найти. любая помощь глубоко оценена. .

+1

Прежде всего, вы клонируете элемент с идентификатором - не делайте этого. Во-вторых, я точно не знаю, в чем проблема. – Jeff

+0

Я хочу иметь бесчисленные divs, добавленные кнопкой. – teutara

+0

Почему 'add()'? -> '$ ('. content'). clone(). appendTo ('body');' – elclanrs

ответ

1

Я сделал эту скрипку для вас: http://jsfiddle.net/MXXXT/16/

в общем, что я делаю, это создать шаблон для каждого варианта, и клонировать его, а затем показать его (как шаблон по умолчанию скрыт, см CSS).

Надеюсь, что это поможет.

Отредактировано: Fiddle updated

+0

спасибо Джеффу. Но на третьем этапе он создает три экземпляра выбранного. ты это заметил? – teutara

+0

Отредактировано - я забыл клонировать только первый :) – Jeff

+0

Это всего лишь исходный ответ на ваш вопрос, вам, очевидно, придется его модифицировать (валидация и т. Д.) - мы не делаем ВСЕ твою домашнюю работу;) – Jeff

 Смежные вопросы

  • Нет связанных вопросов^_^