из Select в Textarea?
Всем привет.
У меня такой вопрос, можно ли с помощью js передать в textarea переменную, так, чтобы она не зависела от введенного текста. Вот пример кода: $(document).ready(function(){ $("#brselect").change(function () { var $str = ""; $("#brselect option:selected").each(function () { $str += $(this).text() + " "; }); $("#txtpastebr").text($str); if ($("#txtpastebr").text()!="") { $("#txtpastebr").val($str + $("#txtpastebr").val()); } }) .change(); }); Но вот только он постоянно добавляет значение полученное из селекта к тому что написано, а нужно чтобы значение менялось в зависимости от того, что выбрал в select. Уважаемы, подскажите пожалуйста.:help: |
Мде, совсем обленились:(
$(document).ready(function(){ $("#brselect").change(function () { var $str = ""; $("#brselect option:selected").each(function () { $str += $(this).text() + " "; }); $("#txtpastebr").val($str); }) .change(); }); |
Kintim,
Пару примеров строк в textarea до смены переменной и после |
Это понятно, что меняет.. А если Юзер уже набил целое произведение?!
Не удобно как-то заставлять его заново все строчить.. (( |
Цитата:
|
сначала было пусто, после выбора в селекте соответственно:
- General - Mitsubishi - Clint Отрабатывает. А вот если в текстареа уже есть текст то: - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - General |
Kintim,
Повторный Выбор селект - рассматриваем ? если да => Могут ли быть подобные слова уже в тексте ? |
Человек может ошибиться с выбором и после набора текста понять, что ему нужно другое. Тогда он заново пользуется селектом.
И да, в тексте он может упоминать фразы, которые есть в селекте. |
Чо нидь типо так:
<style type="text/css">#txtpastebr{width: 100%;white-space:nowrap;}</style> <script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var First=true; var Sel = $("#brselect"); var Tarea =$("#txtpastebr"); var opt='Ваш выбор,- General,- Mitsubishi,- Clint'; opt = opt.split(','); Sel.change(function () { var str=$(this).find('option:selected').val(); var txt=Tarea.val(),a=String.fromCharCode(173); //160 if(str!=''||str!=opt[0]){ if(First){First=false;Tarea.val(txt+' '+a+str+a+' '); } else { var pattern = a+'('+opt[1]+'|'+opt[2]+'|'+opt[3]+')'+a; var regexp = new RegExp(pattern,"ig"); var txt2=txt.replace(regexp,a+str+a); if(txt2!=txt){Tarea.val(txt2)}else{Tarea.val(txt+' '+a+str+a+' ')} } } }); }); </script> <form> <select id="brselect" name="cat"> <option selected disable>Ваш выбор</option> <option value="- General">- General</option> <option value="- Mitsubishi">- Mitsubishi</option> <option value="- Clint">- Clint</option> </select><br> <textarea id="txtpastebr" name="req_message" rows="14"></textarea> </form> |
Спасибо большое.. )
Однако, если выбрать не один и тот же option, то он встанет в поле textarea, получится так: 12312 1321 3854 51 84 18 18181 32 General Mitsubishi Clint MDV поэтому, наверное правильнее будет оставить так: <script> $(document).ready(function(){ $("#brselect").change(function () { var $str = ""; $("#brselect option:selected").each(function () { $str += $(this).text() + " "; }); $("#txtpastebr").text($str); if ($("#txtpastebr").text()!="") { $("#txtpastebr").val($str + $("#txtpastebr").val()); } }) .change(); }); </script> |
Часовой пояс GMT +3, время: 14:19. |