Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2012, 18:45
Аватар для kixik
Новичок на форуме
Отправить личное сообщение для kixik Посмотреть профиль Найти все сообщения от kixik
 
Регистрация: 15.02.2012
Сообщений: 4

Переменная "на лету"
Приветствую,

сразу к делу:

выбираю имена всех чекбоксов, которые отмечены:

$("#tut-ishu").find($("input[type=checkbox]:checked").each(function()
    {    
        var name = $(this).attr("name"); // все имена
        alert(name);     
            }));


- это всё хорошо, и выводит, то что надо к примеру отмечено два чекбокса и получается два алерта с именами (к примеру chek1 и chek2).

а я хочу выводилось содержание ранее уже объявленных переменных как раз таки с именами chek1 и chek2.

var chek1 = 'Первая';
var chek2 = 'Вторая';
$("#tut-ishu").find($("input[type=checkbox]:checked").each(function()
    {    
        var name = $(this).attr("name"); // все имена
        alert(name);     
            }));


если вместо name в alert ставлю имя переменной, то выводит что надо, а если в цикле - не хочет (( выводит имя чекбокса...

благодарю за советы
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2012, 19:27
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

alert(window[name])
, если переменные объявлены в глобальной области видимости.
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2012, 19:44
Аватар для kixik
Новичок на форуме
Отправить личное сообщение для kixik Посмотреть профиль Найти все сообщения от kixik
 
Регистрация: 15.02.2012
Сообщений: 4

попробовал... undefined в глобальной видимости, если скажем сделать так:

var chek1 = 'Первая';
var chek2 = 'Вторая';
$("#tut-ishu").find($("input[type=checkbox]:checked").each(function()
    {    
        var name = $(this).attr("name"); // все имена
        alert(window[name]+'/'+chek2);     
            }));

результатом будет undefined/Вторая
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2012, 20:39
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

перед перебором чекбоксов создавай массив:

var arrCb = $([]);


в цикле перебора вместо var name... добавляй все в массив:
arrCb.add($(this).attr("name"));

на выходе: arrCb — массив со всеми именами.
__________________
С моих слов записано верно.
Ответить с цитированием
  #5 (permalink)  
Старый 15.02.2012, 22:50
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<div id="tut-ishu"> <input name="chek1" type="checkbox" /> <input name="chek2" type="checkbox" />
<input type="button" id="btn" value="ClickMe!" />
</div>
<script>
var chek1 = 'Первая';
var chek2 = 'Вторая';
$('#btn').click(function () {
	$("#tut-ishu").find($("input[type=checkbox]:checked").each(function () {
		var name = $(this).attr("name"); // все имена
		alert(window[name]);
	}));
});</script>


P.S. find Вы используете неправильно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить jQuery считать динамические объекты append'a "на лету"? walabyn jQuery 2 08.09.2011 12:07
Переменная после отправки данных lukingnu AJAX и COMET 0 19.03.2011 20:24
Валидация required не работает "на лету" Tomas jQuery 5 25.02.2011 07:08
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45
страница "на лету" Лесной_Белк Events/DOM/Window 4 18.05.2009 08:57