Кто-нибудь знает плагин JQuery для создания выбора с текстовым вводом, который появляется для некоторых вариантов? - PullRequest
2 голосов
/ 08 июня 2011

Т.е. обычный выбор, но когда я выбираю "Пользовательский", появляется текстовый ввод, и я могу использовать его вместо этого, как на этом грубом рисунке:

 [Choice A ^]

становится

 [Custom   ^] ____________
 [Choice A  ]
 [Choice B  ]
 [Choice C  ]

Я могу построить его, но это обычный шаблон ....

Примечание: Я не говорю о поле со списком.

1 Ответ

0 голосов
/ 08 июня 2011

Самое сложное в том, что вы, вероятно, хотите, чтобы оба поля input и select использовали одно и то же имя, так что независимо от того, что обрабатывает данные формы, вам не придется задаваться вопросом, что было выбрано, а вместо этого просточитать значение из одного и того же имени.

Мой взгляд на это:

var i;
var b = false;
$("select").change(function(){
    if($("option:selected",this).hasClass('custom')){
     i = $('<input />').attr('name','values').insertAfter(this);   
         }else{
          $(i).remove();   
         }
});

$('form').submit(function(e){
    if (!b){
   e.preventDefault();
    if ($(i).length>0){
     $('select').remove();  
    } else{
     $(i).remove();   
    }
     b = true;
    $(this).trigger('submit');
}

});

пример: http://jsfiddle.net/niklasvh/Cq59K/ (взгляните на данные отправки формы, использует те жеимя для полей и не имеет повторяющихся записей, например, поля со списком и поля ввода).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...