Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2015, 12:10   #1
Тёма_)
Пользователь
 
Регистрация: 12.11.2011
Сообщений: 68
По умолчанию Динамическая генерация input type="radio" в html

Добрый день, такая проблема, при открытии модального окна генерируется таблица и заполняется input type="radio" + закрашивается, при первом открытии модального окна все происходит как и задумано, но при повторном открытии (если не перезагружать страницу) в input type="radio" не отображаются "точки" и их не как нажать нельзя, т.е они блокируются, кто знает в чем может быть проблема?
P.S при всем при этом они перерисовываются точно, закрашивается тоже все правильно. Пробовал очищать при закрытии модального окна все на всякий случай, результата никакого.

Код генерации input type="radio" в js, такой

PHP код:
selectRadio: function () {
 
                if ( ! 
this.model.notSet ) {
 
                  var 
radioButtons this.$el.find('input');                - берется нужный радиобатн
                  
                  
var radioButtonToSelect;
 
                  if ( 
this.isAllowed ) {                                           - смотрим в 1 или 2-рой поставить точку
                    radioButtonToSelect 
radioButtons.first();
                  }
                  else {
                    
radioButtonToSelect radioButtons.last();
                  }
                  
radioButtonToSelect.prop('checked'true);                 - ставим точку
                
}
                return 
this;
              }, 
Тёма_) вне форума Ответить с цитированием
Старый 23.09.2015, 14:04   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Так не понятно ничего. Это наверное какой-то framework. А значит, что то там выставляется в true или false после отрисовки. Нужно посмотреть на сгенерированый HTML, в нем будет все ясно.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 23.09.2015, 15:04   #3
Тёма_)
Пользователь
 
Регистрация: 12.11.2011
Сообщений: 68
По умолчанию

Вот код который генерируется в html, вообще там не используется фреймворк, происходит все так:

1. Пользователь выбирает юзера
2. Нажимает на кнопку
3. на сервер посылается инфа какого юзера выбрали
4. По этой инфе строиться таблица и заполняется данными
то что представлено ниже это одна строка, она выглядет так все время когда строиться и когда работает и когда не работает, при всем при этом при дебаге все норм он проставляет и при повторном построении, но по какой то причине все input блокируются и не показывают точки
Код HTML:
                                    <td> date </td>
                                    <td class="Select"><div style="background: rgb(193, 226, 194) none repeat scroll 0% 0%;">
                                <h6>Разрешено</h6>
                                <input name="allowedSELECT" value="1" type="radio">
                                <input name="allowedSELECT" value="0" type="radio">
                            </div></td>
                                    <td class="Insert"><div style="">
                                <h6>Нет правила</h6>
                                <input name="allowedInsert" value="1" type="radio">
                                <input name="allowedInsert" value="0" type="radio">
                            </div></td>
                                    <td class="Delete"><div style="background: rgb(193, 226, 194) none repeat scroll 0% 0%;">
                                <h6>Разрешено</h6>
                                <input name="allowedUPDATE" value="1" type="radio">
                                <input name="allowedUPDATE" value="0" type="radio">
                            </div></td>
                                    <td class="Update"><div style="">
                                <h6>Нет правила</h6>
                                <input name="allowedUpdate" value="1" type="radio">
                                <input name="allowedUpdate" value="0" type="radio">
                            </div></td>
                                    <td class="ClearValue"><div style="background: rgb(255, 129, 129) none repeat scroll 0% 0%;">
                                <h6>Запрещено</h6>
                                <input name="allowedCLEAR VALUE" value="1" type="radio">
                                <input name="allowedCLEAR VALUE" value="0" type="radio">
                            </div></td>
                                
Тёма_) вне форума Ответить с цитированием
Старый 23.09.2015, 15:12   #4
Тёма_)
Пользователь
 
Регистрация: 12.11.2011
Сообщений: 68
По умолчанию

Для ясности, весь html находиться в файлах tpl, js на основе шаблона записывает в tpl всю верстку.

Мне хотя бы какие то намеки по какой причине может так блокироваться все, в дебаге вижу что один из input проставляется true, второй нормально проставляется в false (при всем при этом в документации написано если name у них одинаковые и проставляешь тру, то второй автоматом ставиться фолс)
Тёма_) вне форума Ответить с цитированием
Старый 23.09.2015, 15:16   #5
Тёма_)
Пользователь
 
Регистрация: 12.11.2011
Сообщений: 68
По умолчанию

1. radioButtons = this.$el.find('input'); - он берет по очереди input (каждый, с своим классом и т.д, там инфа к какой он таблице относиться, что за юзер и т.д)
2. смотрит в свойствах что он должен означать this.isAllowed
3. берет либо первый либо второй input radioButtonToSelect = radioButtons.first() или last()
4. выбраный input ставит в тру radioButtonToSelect.prop('checked', true);
Тёма_) вне форума Ответить с цитированием
Старый 23.09.2015, 18:13   #6
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Наверное JS добавляет им аттрибут disable. Но не уверен.
А есть ссылка, что бы в живую глянуть ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 23.09.2015, 21:53   #7
Тёма_)
Пользователь
 
Регистрация: 12.11.2011
Сообщений: 68
По умолчанию

Ссылка есть, но проект корпоративный, дать не могу)
Тёма_) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
input type="hidden". Как сделать видимым? maksim_serg HTML и CSS 7 20.08.2015 11:03
Как передать значениет с <input type="text"> в тег <a href="serch.php?serch=(сюда)"> SevenXP PHP 3 22.04.2012 03:14
Передача данных с coockie в поле формы (input type="text") Olegzxc PHP 1 10.07.2011 14:36
Проблема с проверкой <input type="file"> Ang3r PHP 4 07.08.2009 20:13
HTML нет событий при передачи методо POST через <input type="image" Mixail HTML и CSS 12 07.06.2009 03:33