[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта


Скрипты и коды для юкоз - Форум аццкого кодера » Если вы пришли за помощью, то Вам сюда... » Запоминание значения селекта

Запоминание значения селекта
[1] nick1594 [20.03.2012, 18:06]
есть такой скрипт

Code
$('input[name="aemail"]').hide().before('<select id="stat" name="fl"><option value="" style="color:#A3A3A3">- Статус раздачи -</option><option value="1">Одобрено</option><option value="2">Проверяется</option><option value="3">Недооформлено</option></select>');  
  $('#stat').change(function() {  
       $('input[name="aemail"]').val($(this).val());  
    });  

  <?if($PAGE_ID$='edit')?>   
   $(function () {   
   var fstatuss = $('input[name="aemail"]').val();   
   if(fstatuss != '') { $('#stat').val(fstatuss)}   
   })   
  <?endif?>


что он делает
на странице добавления новости он заменяет поле на селект, при выборе значения из селекта в поле вписывается цыфра.
так же при редактировании значение селекта остается таким которое было выбрано
тоесть
если в селекте выбрал "Проверяется" то при редактировании оно и будет активно, как в фильтрах

но у меня возникла проблема!
есть вот такой код
Code
var nick = '~$USERNAME$ $ $DATE$ $TIME$';


который я вставляю на страницу добавления материала

и мне нужно что бы при выборое значения из селекта в поле вписывалось не только цыфра, а и то что под массивом "nick"

делал вот так

Code
<option value="2 '+nick+'">Проверяется</option>

все вставляется.

НО есть проблема( уже при редактировании выбраное ранее значение не активно.
тоесть должно было бы быть активно "Проверяется" но активно первое из селекта это "- Статус раздачи -"

может может сделал что-то не так?
или этот код изменить нужно ?

Code
<?if($PAGE_ID$='edit')?>   
   $(function () {   
   var fstatuss = $('input[name="aemail"]').val();   
   if(fstatuss != '') { $('#stat').val(fstatuss)}
  })   
  <?endif?>


что бы все работало
подскажыте как быть
[2] likbezz [20.03.2012, 19:27]
nick1594,
Quote (nick1594)
может может сделал что-то не так?

Подозреваю что в значении value не должно быть спец символов, типа двоеточие и пробелы - двоеточие выдает $TIME$ ...
Попробуйте убрать лишнее, оставьте только $USERNAME$ без всяких «~» ...
Посмотрите будет ли выбираться - если будет - прибавляйте следующий параметр, время скорее всего не прокатит - из-за двоеточия, но можно его заменить не дефис - вырезать отдельно часы и минуты и поставить между ними минус.
...
[3] nick1594 [20.03.2012, 21:37]
likbezz, я уже понял, оно нехочет кроме цыфры запоминать что там еще ~$USERNAME$ $ $DATE$ $TIME$

можна ли сделать как нибуть, что бы если из селекта выбрал "Проверяется" тоесть в поле записалась цыфра 2
то вместе с этим в другое поле записалось бы то что в массиве "nick" ??
[4] likbezz [20.03.2012, 21:43]
nick1594,
Quote (nick1594)
то вместе с этим в другое поле записалось бы то что в массиве "nick" ??

В инпут $('input[name="aemail"]')? - можно)
Вот так:
Code
$('#stat').change(function() {    
         $('input[name="aemail"]').val($(this).val()+nick);    
});

...
[5] nick1594 [20.03.2012, 22:11]
likbezz, да так
Code
$('input[name="aemail"]').val($(this).val()+nick);


конечно лучше чем я делал, но всеравно при редактировании селект не будет активным(

а вот если есть поля aemail и есть поле manFllSize

так вот выбраное из селекта записывается в поле aemail

а из массива "nick" в manFllSize

и в поле manFllSize должно записыватся только тогда когда, будет выбиратся что-то из селекта

Добавлено (20.03.2012, 22:11)
---------------------------------------------
сделал так

Code
$('#stat').change(function() {
      $('input[name="aemail"]').val($(this).val());
      $('#ldF11').val($(this).val()+nick);
   });


записывается в поле aemail цыфра из селекта
а в поле #ldF11 и цыфра и то что в массиве "nick"

можна как-то сделать что бы туда не вписывалась цыфра из селекта?
[6] likbezz [20.03.2012, 22:19]
nick1594,
Quote (nick1594)
конечно лучше чем я делал, но всеравно при редактировании селект не будет активным(

Quote (nick1594)
а вот если есть поля aemail и есть поле manFllSize
так вот выбраное из селекта записывается в поле aemail
а из массива "nick" в manFllSize

Чёт вы как-то сложно придумали, не проще вырезать первый символ - 2 - из значения поля - тогда при редактировании селект будет показывать значение первого символа поля «aemail» ....
Типа:
Code
<?if($PAGE_ID$='edit')?>      
$(function () {      
var fstatuss=$('input[name="aemail"]').val();      
if(fstatuss!=''){$('#stat').val(fstatuss.substring(0,1))} /* Получили первый символ */
})      
<?endif?>

А записывать - так же...
Code
$('#stat').change(function() {      
$('input[name="aemail"]').val($(this).val()+nick);  /* Записали значение + строка «nick» */    
});

...

Quote (nick1594)
можна как-то сделать что бы туда не вписывалась цыфра из селекта?

Да, можно:
Code
$('#stat').change(function() {
          $('input[name="aemail"]').val($(this).val());
          $('#ldF11').val(nick);
});

... Но всё равно, два поля ... это расточительство )
...
[7] nick1594 [20.03.2012, 22:39]
likbezz,

во спасибо огромно с
работает все супер

Code
<?if($PAGE_ID$='edit')?>      
  $(function () {      
  var fstatuss=$('input[name="aemail"]').val();      
  if(fstatuss!=''){$('#stat').val(fstatuss.substring(0,1))} /* Получили первый символ */  
  })      
  <?endif?>


я тоже думал может можна сделать что бы обрезало только первый символ но не знал как сделать(
не сильно еще вник в JavaScript

а то второе поле еще лепил biggrin
[8] likbezz [20.03.2012, 22:44]
nick1594,
Quote (nick1594)
я тоже думал может можна сделать что бы обрезало только первый символ но не знал как сделать(

- Спросил бы сразу - как вырезать символ ... а то смотрю что-то не то лепишь )
... Ладно, разобрались и хорошо )
...
[9] nick1594 [25.03.2012, 16:32]
likbezz,
Quote
Спросил бы сразу - как вырезать символ


та в голову сразу не пришло)
Quote
Ладно, разобрались и хорошо )

это да)
спасибо еще раз!

Добавлено (25.03.2012, 16:32)
---------------------------------------------
все спасибо!
тему можна закрыть



Полная версия сайта