Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.03.2012, 15:07
Новичок на форуме
Отправить личное сообщение для Химерк Посмотреть профиль Найти все сообщения от Химерк
 
Регистрация: 23.03.2012
Сообщений: 2

динамическое заполнение динамическими элементами
доброго времени суток!

народ подскажите плиз в чём засада:

1) имею html в нём DIV со style="display:none;" в DIV-е находится элемент SELECT
2) в JS файле с использованием естественно jquery при загрузке документа создаю основываясь на данных XML файла набор кнопок в обработчик click этих кнопок - сажаю отоборажение DIV-а отчисткой style и заполняю селект...

в принципе если в конце события click перед завершением повесить alert видно что DIV отображается, а SELECT заполнен... но после подтверждения alert-а SELECT отчищается а DIV снова становится не видимым...

пипец... я уже голову сломал... подскажите что я не так делаю?...

на всякий пожарный приведу код

javascript:
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "xml/Categorues.xml",
        dataType: "xml",
        success: function (xml) {
            var Num = 0;
            $(xml).find('Catedory').each(function () {
                var ParentCode = $(this).attr('ParentCode');
                var Code = $(this).attr('Code');
                var Picture = $(this).attr('pic');
                var ObjCategoryName = $(this).text();
                if (ParentCode == "0000000000") {
                    var newNum = new Number(Num + 1);
                    var NewElem = $('#etalon').clone().attr('id', 'cat_' + Code);
                    NewElem.attr('style', 'width:63px; height:63px;border:none;background: white url(\'' + Picture + '\') no-repeat; margin:3px;');
                    NewElem.attr('title', ObjCategoryName);
                    NewElem.attr('value', Code);
                    NewElem.hover(
                    function () {
                        //alert("in " + $(this).attr('title'));
                        $('#MouseCategory').text($(this).attr('title'));
                    }
                    ,
                    function () {
                        //alert("out " + $(this).attr('title'));
                        $('#MouseCategory').text('');
                    }
                    );
                    NewElem.bind('click',function () {
                        var ObjCategory = $('#ObjCategory');
                        ObjCategory.empty();
                        ObjCategory.append("<option value=''></value>");
                        $('#SubCategoryDiv').attr('style', 'display:block;');
                        $(xml).find('Catedory').each(function () {
                            var SubParentCode = $(this).attr('ParentCode');
                            var SubCode = $(this).attr('Code');
                            var SubPicture = $(this).attr('pic');
                            var SubObjCategoryName = $(this).text();
                            if (SubParentCode == Code) {
                                ObjCategory.append("<option value='" + SubCode + "'>" + SubObjCategoryName + "</value>");
                                //alert(" >>> " + SubCode + " >>> " + SubObjCategoryName + " >>> " + SubParentCode + " === " + Code);
                            }
                        });
                        alert("id=" + $(this).attr('id') + " value=" + $(this).attr('value'));
                    });
                    //NewElem.text(ObjCategoryName);
                    $('#etalon').after(NewElem);
                }
            });
        }
    });
});

HTML:
<label>Категория товара:</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<label id="MouseCategory"></label><br />
        <div id="CategoryDiv"><button id="etalon" style="display:none;"></button></div>
		<div id="SubCategoryDiv" style="display:none;">
        <label for="ObjCategory">Подкатегория товара:</label><br />
		<select id="ObjCategory">
		</select>
        </div><br><br>
Ответить с цитированием
  #2 (permalink)  
Старый 23.03.2012, 16:56
Новичок на форуме
Отправить личное сообщение для Химерк Посмотреть профиль Найти все сообщения от Химерк
 
Регистрация: 23.03.2012
Сообщений: 2

вопрос решился... вроде как...

проблема была в применении HTML5...
использование для кнопки тега <button> а не <input type="button">
почему-то click для button отрабатывает с двойного нажатия (как ярлык на рабочем столе) а для <input> всё нормально, с первого нажатия...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS, <SELECT> заполнение bma2004 Общие вопросы Javascript 6 13.11.2016 13:48
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42
Динамическое заполнение select Beton-Karton AJAX и COMET 3 21.01.2011 22:56
динамическое заполнение SELECT PavelDart Элементы интерфейса 1 10.09.2009 10:16