2012-06-17 5 views
1

Я не нашел встроенной функции для проверки того, установлен ли флажок true или false, isChecked() недоступен для приложений-скриптов (если я прав). Любая идея о том, как ее найти или у нас будет обработчик изменения стоимости, чтобы подсчитать количество измененных значений и найти, проверено или нет?Проверка того, установлен ли флажок

ответ

2

Вы должны присвоить флажка имя, так что вы можете получить его значение в функции обработчика с e.parameter.checkboxname: это значение является логическим.

var chkmode = app.createCheckBox("description").setName("chk1").setId("chk1") 

с ID вы можете изменить свое состояние с помощью функции обработчика (или любого другого), если это необходимо (getElementbyId())

обратите внимание, что обработчик может быть на самом флажком (обработчик изменения) или на любом другом элементе пользовательского интерфейса, в зависимости от ваших потребностей.

1
var handler = app.createServerClickHandler('tellStatus'); 

, а затем (в качестве примера, показывая его в этикетке)

function tellStatus(e){ 
    var app = UiApp.getActiveApplication(); 
    app.getElementById('yourStatusLabel').setText('Checkbox checked: ' + e.parameter.yourCheckbox) 
    return app; 
} 
2

я мог бы быть неправильно, но я считаю, что есть проблема со статусом CheckBox, даже несмотря на его статус выглядит как логическое значение, он не ведет себя как логический, но шпагат

  1. при печати в таблица e.parameter.myCheckBox вы получите ИСТИНА или лОЖЬ

  2. при печати в электронной таблице e.parameter вы получите весь объект и увидеть myCheckBox истинным или ложным myCheckBox =

  3. однако =, если (e.pa rameter.myCheckBox) всегда будет возвращать Правда

  4. обходной путь я использую это: если (e.parameter.myCheckBox == "истина") возвращает текущее состояние myCheckBox

Только в случае, Я открываю новый билет в трекере вопросов Надеюсь, это вам поможет

ps. подтвердил Google, e.parameter.myCheckBox является строка, а не логическое

, если вы хотите использовать его как логическое значение, было бы как (e.parameter.myCheckBox == «истина»)

+0

Значения в e.parameter.something действительно строки, поэтому в последнем редактирования вы должны быть написаны '(e.parameter.myCheckBox == 'истинный')' –

+0

да, действительно, извините за опечатку, теперь исправлены | благодаря –

Смежные вопросы