Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проверка, выбран ли checkbox, если обращаюсь к нему через $(this['id']) (https://javascript.ru/forum/jquery/26254-proverka-vybran-li-checkbox-esli-obrashhayus-k-nemu-cherez-%24-%5B%27id%27%5D.html)

SkaN 02.03.2012 12:28

Проверка, выбран ли checkbox, если обращаюсь к нему через $(this['id'])
 
Сразу скажу, что знаю о том, что можно проверить выбранность, если обратиться к нему по-другому. Но меня интересует именно такой метод. Вот листинг, чтобы было понятнее, о чем я:
$("#reduct_block").submit(function() {
	if ($(this['menu']).checked == true) var menu = true;
	else var menu = false;

Здесь this - объект формы, menu - имя чекбокса. При таком обращении к элементам формы их атрибуты недоступны, поэтому attr("checked") == "checked" не прокатит. Как я уже сказал, я знаю о другом методе обращения, точнее так:
$("#reduct_block").submit(function() {
	if ($("input:checkbox#menu").attr("checked") == "checked") var menu = true;
	else var menu = false;

все работает, но это не красиво, потому что к остальным элементам формы я обращаюсь как в первом листинге.
Обратившись к документации Javascript, я нашел, что можно проверять выбранность чекбоксов через ObjectName.checked , но вот jQuery такой трюк проворачивать не хочет. Есть у кого-нибудь идеи?

SkaN 02.03.2012 13:55

Моя оплошность. Я не подумал, что обращаюсь к массиву чекбоксов (у меня всего один стоит). Конечно, там бред выходил. Вот работающий листинг:
$(this['menu']).each(function() {
	if (this.checked) var menu = true;
	else var menu = false;
});


Часовой пояс GMT +3, время: 22:18.