Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Аргумент для checkbox / 20 сообщений из 20, страница 1 из 1
12.10.2014, 21:11
    #38774512
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Доброго времени суток,
извиняюсь за нелепый вопрос, но как мне передать значение chart.groom для чекбокса?

В моей конструкции получается всегда true, тогда как значения разные, 0, либо 1

var chart = $.wa_chart.editor.options.charts[id];
$("#allow-groom").prop('checked', chart.groom );
...
Рейтинг: 0 / 0
12.10.2014, 21:46
    #38774529
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Theony,

console.log(chart.groom) ?
...
Рейтинг: 0 / 0
12.10.2014, 22:11
    #38774541
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
-k2-, я правильно понимаю, что это намек на то, что конструкция верная, но значение переменной всегда истина? Оно разное, вот только не для чекбокса почему-то. Могу его вывести на экран и полюбоваться как оно меняется. А мне хотелось бы, чтобы поменялось значение чекбокса.
...
Рейтинг: 0 / 0
12.10.2014, 22:19
    #38774543
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
написала вот так. Оно работает
if (chart.groom >0) {
$("#allow-groom").prop('checked', true);
} else {
$("#allow-groom").prop('checked', false);
}
...
Рейтинг: 0 / 0
12.10.2014, 22:29
    #38774548
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Theony,

$("#allow-groom").prop('checked', chart.groom>0);
...
Рейтинг: 0 / 0
12.10.2014, 22:34
    #38774552
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
-k2-,

спасибо ))
...
Рейтинг: 0 / 0
12.10.2014, 22:41
    #38774554
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
А как бы его еще с этим виджетом совместить????
function setupSwitcherWidget()
{
var switcher = $('#allow-groom-switcher');

if (!switcher.length) {
return;
}

handler.call(switcher.get(0));

switcher.iButton({
labelOn : ' ',
labelOff : ' '
}).change(handler);

function handler()
{
var onLabelSelector = '#' + this.id + '-on-label',
offLabelSelector = '#' + this.id + '-off-label';

if (!this.checked) {
$(onLabelSelector).addClass('b-unselected');
$(offLabelSelector).removeClass('b-unselected');
$('.js-comments-field').hide(100);
} else {
$(onLabelSelector).removeClass('b-unselected');
$(offLabelSelector).addClass('b-unselected');
$('.js-comments-field').show(100);
}
}
}
...
Рейтинг: 0 / 0
13.10.2014, 01:02
    #38774637
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
В общем, запихнула его внутрь функции, таким вот образом:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
 selectCurrentchart: function(id)
        {
            var chart = $.wa_chart.editor.options.charts[id];
            var prev_id = $.wa_chart.editor.options.current_chart_id;
            if(chart && (prev_id != id)) {
          ..................................
         
                var switcher = $('#allow-groom-switcher').prop('checked', chart.groom>0);
               
              if (!switcher.length) {
                return;
              }
        
              handler.call(switcher.get(0));
        
              switcher.iButton({
                labelOn : ' ',
                labelOff : ' '
              }).change(handler);

              function handler()
              {
                var onLabelSelector = '#' + this.id + '-on-label',
                offLabelSelector = '#' + this.id + '-off-label';
         

                    if (!this.checked) {
                        $(onLabelSelector).addClass('b-unselected');
                        $(offLabelSelector).removeClass('b-unselected');
                        $('.js-flags-field').hide(100); 
                    } else {
                        $(onLabelSelector).removeClass('b-unselected');
                        $(offLabelSelector).addClass('b-unselected');
                        $('.js-flags-field').show(100);
                    }
                }
          .....
               



Результат сомнительный, т.к. поля js-flags-field скрываются и показываются как положено, а вот сама кнопка не перерисовывается ((((
...
Рейтинг: 0 / 0
13.10.2014, 13:56
    #38775106
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Как бы все-таки получить обновление слайдера???
...
Рейтинг: 0 / 0
13.10.2014, 14:21
    #38775134
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Theony,

для начала проверить, "а был ли мальчик"? :)
console.log($(onLabelSelector).length))
console.log($(offLabelSelector).length))
...
Рейтинг: 0 / 0
13.10.2014, 15:46
    #38775292
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
-k2-,
оно говорит 1,1
...
Рейтинг: 0 / 0
13.10.2014, 15:58
    #38775313
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Theony,

попробовать из консоли перерисовать
$("корректный id on").addClass('b-unselected');
$("корректный id off").removeClass('b-unselected');
и посмотреть глазами
...
Рейтинг: 0 / 0
13.10.2014, 20:06
    #38775598
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
оооо..... А можно подробнее, как там в консоли найти этот корректный id on ????
...
Рейтинг: 0 / 0
13.10.2014, 20:17
    #38775609
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Theony,

Код: javascript
1.
2.
3.
4.
5.
6.
function handler() {
 var onLabelSelector = '#' + this.id + '-on-label',
      offLabelSelector = '#' + this.id + '-off-label';
  console.log("(on) " + onLabelSelector);
  console.log("(off) " + offLabelSelector);
...



увидите id ваших кнопок, попробуйте
"перерисовать" их из консоли вызвав:

$("...").addClass('b-unselected');

если не получится - причин может быть несколько, не тот объект, не тот css-класс
...
Рейтинг: 0 / 0
14.10.2014, 00:02
    #38775733
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Сорри, я не очень внятно изложила суть проблемы.
id этих классов у меня прописаны и я их знаю. Более того, они отрабатывают, поскольку текст on/off меняется.
А кнопка эта декоративная, она не перерисовывается. Вот.
...
Рейтинг: 0 / 0
14.10.2014, 00:21
    #38775738
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Вот так выглядит активная кнопка
...
Рейтинг: 0 / 0
14.10.2014, 00:22
    #38775739
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
А вот так - неактивная
...
Рейтинг: 0 / 0
14.10.2014, 00:24
    #38775740
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
если бы мое творчество отработало корректно, должно было быть так:
...
Рейтинг: 0 / 0
14.10.2014, 00:27
    #38775742
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
могу еще, разве что, добавить, что сама кнопка остается "как есть", после того, как она инициализировалась. Если была серая, неактивная, то так и остается, чекбокс отмечается, текст перерисовывается.
...
Рейтинг: 0 / 0
17.10.2014, 10:25
    #38779488
Theony
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент для checkbox
Всё, разобралась ))
Если кому-то понадобится:
----------------
$("#id").iButton("repaint")
This will repaint the button to match it's current checked status. This should only be called if the checked attribute of the element has changed in some way out of your control to synchronize the skin's state with the actual checkbox value. The correct method of synchronizing the skin w/the element is to trigger the input's "change" event after any manual update to it's value.
----------------
подробно тут:
http://www.givainc.com/labs/ibutton_jquery_plugin.cfm
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Аргумент для checkbox / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]