хорошо писать весь код очень сложно, не делая это в визуальной студии. так что здесь я помогу вам начать по крайней мере. так как я понимаю, что в каждой области есть список областей, вы должны создать класс, который сообщает об этом. как например.
public class Area()
public int AreaId {get; set; }
public string AreaDetails { get; set; }
}
public class Departments (){
public int DepartmentId { get; set; }
public string DepartmentDetails { get; set; }
public List Areas { get; set; } // all area that are included in the current depertment
}
Когда у вас есть список, вы должны начать создавать флажки.
, так что теперь вы можете получить нужный идентификатор депермента OnSelectedIndexChange
. Затем вы найдете выбранный объект в Списке, а затем создаете флажки и объект DIV, а также Areas
.
Вы знаете, как создать список флажков, но вот URL, если вам нужна дополнительная информация. Как создать динамический флажок в asp.net
Надеюсь, это поможет вам.
jQuery stores all the data information in the jQuery.cache internal variable. It is possible to get all the data associated with a particular object with this simple but helpful plugin:
jQuery.fn.allData = function() {
var intID = jQuery.data(this.get(0));
return(jQuery.cache[intID]);
};
With this in place, you can do this:
$('#myelement').data('test1','yay1')
.data('test2','yay2')
.data('test3','yay3');
$.each($('#myelement').allData(), function(key, value) {
alert(key + "=" + value);
});
You could just use matt b's suggestion but this is how to do it with what you have right now.
$.each($.data(this), function(i, e) {
alert('name='+ i + ' value=' +e);
});
Это будет повторять каждое свойство в объекте данных элемента this.
Я не думаю, что есть какая-либо функция, которая дает вам все «ключи» данных, которые были добавлены с помощью функции data()
, но вместо этого, почему бы не поместить все ваши данные в функцию в объект / карта?
что-то вроде этого:
var container = new Object();
container.bar = "lorem";
container.foo = "ipsum";
container.cam = "dolores";
$("mydiv").data("container", container);
, а затем, когда вы хотите прочитать данные / перебрать их:
var blah = $("mydiv").data("container");
for(key in blah) {
var value = blah[key];
//do whatever you want with the data, such as:
console.log("The value of ", key, " is ", value);
}
Если мы используем .data (), значит, он хранит произвольные данные, связанные с сопоставленными элементами, или возвращает значение в именованном хранилище данных для первого элемента в наборе сопоставленных элементов.
и если .data () в цикле, поэтому мы должны обращаться к нему таким же образом в цикле, например, для (ниже)
<p class="weekday" data-today="monday">Monday</p>
<p class="weekday" data-today="tuesday">Tuesday</p>
<p class="weekday" data-today="wednesday">Wednesday</p>
<p class="weekday" data-today="thursday">Thursday</p>
HTML в моем цикле и data-today
одинаковы во всех тегах но их значения различны, так что в основном это цикл, сгенерированный html
, поэтому мы должны получить доступ таким же образом, т.е. цикл в js/jQuery
, например, (below jQuery code)
$('.weekday').each(function(){
$(this).data('today');
});
OutPut :
Monday
Tuesday
Wednesday
Thursday
ПРИМЕЧАНИЕ. В консоли браузера возвращается значение <DIV>
.
Проверено с jQuery 1.4 и советами от @user292614, работает следующее:
$('#mydiv').data('bar','lorem');
$('#mydiv').data('foo','ipsum');
$('#mydiv').data('cam','dolores');
$.each( $('#mydiv').data(),function(i, e) {
alert('name='+ i + ' value=' +e);
});