2009-09-09 3 views
1

У меня было требование, когда мне нужно снять флажок «Выбрать все», если пользователь вручную отменяет выбор любой из строк данных. Это было достигнуто путем обнаружения этого во время события onRowSelect (событие jqgrid). Фрагмент кода выглядит следующим образом и работает так, как ожидалось.Должен ли я проверить, существует ли атрибут 'disabled' перед его удалением?

onSelectRow: function(){$("input:checkbox[id='cb_jqg']").removeAttr('checked');} 

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

Есть ли проблемы с производительностью/кодом этики с синтаксисом, который я использовал?

ответ

3

Добавление проверки перед установкой значения будет медленнее, чем просто произвольно установить их все просто потому, что оно должно сделать чек.

Этически это не ошибка, поэтому все справедливо в любви и кодировании, не так ли?

+0

Спасибо за ответ. Это совпадает с моими рассуждениями, когда я писал код. Позже я понимаю, что состояние «выбрать все» не так часто, так что будет лучше просто проверить чек, если его проверили (и, поскольку чаще всего он не проверяется) ничего не делают. Любые мысли по этому поводу? – Nrj

0

Похоже, у вас есть несколько флажков с одинаковыми id. Это неверно в HTML. Вместо этого вы можете использовать те же name для этих флажков.

Кроме того, более стандартный способ установки checkedness от флажка просто установив checked свойство CheckBox элемента true или false, а не полагаться на обработку атрибутов методов JQuery в.

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