Другой подход в зависимости от того, как вы меняете div. Если вы используете JQuery для изменения содержимого div с помощью метода html (), вы можете расширить этот метод и вызвать функцию регистрации каждый раз, когда вы помещаете html в div.
(function( $, oldHtmlMethod ){
// Override the core html method in the jQuery object.
$.fn.html = function(){
// Execute the original HTML method using the
// augmented arguments collection.
var results = oldHtmlMethod.apply( this, arguments );
com.invisibility.elements.findAndRegisterElements(this);
return results;
};
})( jQuery, jQuery.fn.html );
Мы просто перехватываем вызывает html (), вызывает функцию регистрации с этим, которая в контексте относится к целевому элементу, получающему новый контент, затем мы передаем вызов исходной функции jquery.html (). Не забудьте вернуть результаты исходного метода html (), потому что JQuery ожидает его для цепочки методов.
Для получения дополнительной информации об переопределении и расширении метода проверьте http: //www.bennadel. com / blog / 2009-Using-Self-Executing-Function-Arguments-To-Override-Core-jQuery-Methods.htm , где я скрещивал функцию закрытия. Также ознакомьтесь с учебником плагинов на сайте JQuery.
Если бы Вы только хотите один ответ от группы, то управление RadioButton было бы Вашим лучшим соответствием, или Вы могли использовать ComboBox, если у Вас будет много опций. Для установки значения по умолчанию просто добавьте объект к набору ComboBox и установите SelectedIndex или SelectedItem к тому объекту.
В зависимости от того, сколько опций Вы смотрите на, можно использовать ListBox с набором свойств SelectionMode к MultiSimple, если это будет разнообразный выбор, или Вы могли бы использовать управление CheckBox.
Используйте ComboBox. Свойство SelectedItem или SelectedIndex после объектов было вставлено для выбора объекта по умолчанию.
Вы могли также рассмотреть использование управления RadioButton для осуществления выбора единственной опции.
Необходимо смочь просто установить ComboBox. Свойство SelectedIndex с тем, чем Вы хотите, чтобы значение по умолчанию было.
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedindex.aspx
Можно использовать ComboBox с набором свойств DropDownStyle к DropDownList и SelectedIndex к 0 (или независимо от того, что объект по умолчанию). Это вынудит всегда наличие покинуть объекта выбранный список. Если бы Вы забываете делать это, пользователь мог бы просто ввести что-то еще в часть окна редактирования - который был бы плох :)
Если Вы даете пользователю, маленький список выбора затем придерживается переключателей. Однако, если Вы захотите, хотят использовать поле комбинированного списка для динамических или длинных списков. Установите стиль на DropDownList.
private sub populateList( items as List(of UserChoices))
dim choices as UserChoices
dim defaultChoice as UserChoices
for each choice in items
cboList.items.add(choice)
'-- you could do user specific check or base it on some other
'---- setting to find the default choice here
if choice.state = _user.State or choice.state = _settings.defaultState then
defaultChoice = choice
end if
next
'-- you chould select the first one
if cboList.items.count > 0 then
cboList.SelectedItem = cboList.item(0)
end if
'-- continuation of hte default choice
cboList.SelectedItem = defaultChoice
end sub