Я обнаружил, что самый простой способ сделать это, не вставляя новую структуру для создания события deselected
, заключается в том, чтобы изменить любую кнопку , запускающую событие update
на всех переключатели в своей группе, а затем определите поведение, которое вы хотите в событии обновления.
Недостатком является то, что код в ветке отмены выбора будет работать, даже если переключатель не был выбран ранее. Если все, что вы делаете, просто показывает, скрывает или отключает элементы пользовательского интерфейса, это не имеет большого значения.
Чтобы использовать ваш пример:
buttons = $('input[name="a"]');
buttons.change(function() {
buttons.trigger('update:groupA');
}).bind('update:groupA', function(){
if(this.checked) {
//Do your checked things
} else {
//Do your unchecked things. Gets called whenever any other button is selected, so don't toggle or do heavy computation in here.
}
});
Нет, на самом деле наоборот! По крайней мере, для Microsoft SQL Server - вы не указали, о какой базе данных вы говорите.....
Если вы не указываете поля ни в SELECT, ни в INSERT, то процессор запросов SQL Server должен сначала просмотреть системные каталоги, чтобы выяснить, какие поля действительно доступны.
Поэтому я бы всегда рекомендовал явно указывать нужные поля - как в SELECT, так и в INSERT.
Я не знаю о каком-либо улучшении производительности за счет исключения имен полей, но я бы посоветовал не использовать это для чего-либо, кроме тестирования / однократной вставки.
Понижается удобочитаемость (вам нужно проверить таблицу, чтобы увидеть, что куда вставляется), и ваш код сломается, если схема таблицы будет изменена
Нет, это не быстрее. База данных все равно должна проверить, какие поля есть в таблице, и сопоставить их значения.
Вы всегда должны указывать поля в запросе, чтобы сделать код более надежным. Если кто-то изменит порядок полей в таблице, запрос перестанет работать (или, что еще хуже, запишет данные в неправильное поле), если вы не указали поля.