jquery, как заставить insertBefore работать только один раз, по первому клику? - PullRequest
2 голосов
/ 14 апреля 2010

1001 * JQuery *

$(function(){
 $('#4').click(function() {
 $('<input name="if4" type="text" value="other price>"').insertBefore('form textarea');
   });
 });

HTML

    <form>
< input name="name" type="text" value="Enter your name" /><br />
< input name="contacts" type="text" value="Contact info" /><br />
< select name="services">
< option value="1">1</option>
< option value="2">2</option>
< option value="3">3</option>
< option id="4" value="Other">4</option>
< /select><br />
< textarea name="description">Description</textarea><br />
< /form>

И еще один вопрос по этому поводу, когда я дважды нажимаю на опцию № 4, появляются 2 новых поля, есть ли способ как это исправить, это новое поле появляется только 1 раз, после первого щелчка?

1 Ответ

3 голосов
/ 14 апреля 2010
$(function(){
 $('#4').one('click', function() {
  $('<input name="if4" type="text" value="other price>"').insertBefore('form textarea');
 });
});
...