цикл jQuery через данные () объект

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

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

Надеюсь, это поможет вам.

25
задан Brian Tompsett - 汤莱恩 4 November 2015 в 15:21
поделиться

5 ответов

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.

15
ответ дан 28 November 2019 в 20:43
поделиться
$.each($.data(this), function(i, e) {
   alert('name='+ i + ' value=' +e);
});

Это будет повторять каждое свойство в объекте данных элемента this.

19
ответ дан Mikael Svenson 28 November 2019 в 20:43
поделиться

Я не думаю, что есть какая-либо функция, которая дает вам все «ключи» данных, которые были добавлены с помощью функции 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);
}
9
ответ дан matt b 28 November 2019 в 20:43
поделиться

Если мы используем .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>.

0
ответ дан Vrushal Raut 28 November 2019 в 20:43
поделиться

Проверено с 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);
});
10
ответ дан 28 November 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: