Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jqModal проблемы 
:(
    Опции темы
fakeman
Дата 15.12.2010, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 5.5.2009

Репутация: нет
Всего: нет



Добрый вечер уважаемые гуру javascript'а smile

Бьюсь над этой проблемой уже какой день. Всё не могу решить её.
На сайте допустим выводятся товары у каждого товара есть кнопка подробнее при нпжатии на неё мы попадаем в всплывающее(сайт темнеет появляется div - библеотека jqModal) окно где выводится вся информация о товаре. У меня не получается реализовать что бы в этом всплывающем окне можно было переходить по цветам товара, т.е. меняем цвет и прямо в этом же окне менялась информация товара.
У меня получилось сделать что бы можно было тока 1 раз перейти по цвету. Получается жмём подробнее попадаем в окно, клик на цвет и новое окно как бы повер ложет старого, а из него (нового окна) уже нельзя выбрать цвет :( В данном примере использовался тока 1 div. Может надо было 2 diva как бы менялись между собой. Допустим нажали подробнее открылся div1 надали в нём цвет открылся div2 (div1 hide) и т.д. ?
Скину сам код что и как с html php javascript.

Кнопка подробнее
Код

<div >
<a href="#" id="open1-<?=$row['id']?>"  >Podrobnee</a> 
</div>


Цикл со всеми div1(око которое открывается при нажатии подробнее)
Код

<?foreach($id_array_all as $y => $tData){
    
    $q = mysql_query("SELECT * FROM goods_images WHERE hidden='0' AND good_id = '".$y."'  ");
    $rowim = mysql_fetch_array($q);
    
    $t_title = unserialize(urldecode($tData['title']));
    $material = unserialize(urldecode($tData['material']));
    $decoration = unserialize(urldecode($tData['decoration']));
    $packing = unserialize(urldecode($tData['packing']));
    
    ?>
    <form method="post" action="/actions.php" id="order-<?=$y?>">
                <input type="Hidden" name="action" value="add_goods_in_basket">
                <input type="Hidden" name="lang_int" value="<?=$lang?>">
                <input type="Hidden" name="good_id" value="<?=$y?>">
            <!-- VSPILAVAJU6IJ PRODUKT -->
            <div class="jqmWindow" id="dialog1-<?=$y?>" style="display:none;">
                <div style="float:left;">
                    <div align=center>Detalizacii tovara</div>
                    <div style="float:left; padding:5px;">
                        <div align=center>
                            <?=$t_title[$lang]?>
                        </div>
                        <div class="aRight gallEvents change-div">
                            <img width="200px" height=90 alt="<?=To_Out($rowim['title'])?>" src="<?=DATA_PATH."good_images/".$rowim['image']?>" style="border:1px solid #ccc; padding: 2px;" border="0">
                        </div>
                        <div class="aRight gallEvents change-div2" style="padding-bottom:5px; display:none;">
                
                        </div>
                        <div>
                            <?
                                if(mysql_num_rows($q)>1){
                                    
                                    do
                                    {
                                        echo 
                                        '
                                            
                                            <div style="float:left; padding: 0px 5px 5px 0px;">
                                                <a rel1="'.$rowim['id'].'" rel2="'.$rowim['image'].'" class="change"><img width=54 alt="'.To_Out($rowim['title']).'" src="'.DATA_PATH.'good_images/thumb_'.$rowim['image'].'" style="border:1px solid #ccc; padding: 2px;" border="0"></a>
                                            </div>
                        
                                        ';
                                    }
                                    while($rowim = mysql_fetch_array($q));
                                }
                            ?>
                        </div>
                    </div>
                    <div style="float:right;">
                        <div>
                            Stoimostj: <?=calculate_currencies($tData['price']);?>
                        </div>
                        <div>
                        
                            <?
                            $color_array = array();
                            $color_array1 = array();
                                $color_sql = mysql_query("
                                    SELECT 
                                          g.id
                                        , g.color
                                        , g.g_quantity
                                        , g.type
                                        , g.group_id
                                        , gc.title
                                    FROM 
                                        goods as g 
                                    LEFT JOIN goods_colors as gc ON(g.color = gc.color_id)
                                    WHERE type='".$tData['type']."' AND group_id='".$tData['group_id']."' ");
                                while ($color_arr = mysql_fetch_array($color_sql)){
                                    //echo $title_color[$lang];
                                    $color_array[$color_arr['id']] = $color_arr;
                                    $color_array1[$color_arr['id']] = $color_arr;
                                    $array_id[$color_arr['id']] = $color_arr;
                                    //$array_id1[$color_arr['id']] = $color_arr;
                                    
                                }
                            ?>
                            Cvet Izdelija:
                            
                            
                                <?
                                    foreach($color_array as $y1 => $cData){
                                        $title_color = unserialize(urldecode($cData['title']));
                                ?>
                                    <a href="#" rel5="<?=$y1?>" id="open1-<?=$y1?>" ><?=$title_color[$lang]?></a></option>
                                <?
                                    }
                                ?>
                            
                        </div>
                        <div>
                            Koli4estvo: 
                            <?if($tData['g_quantity']>0){?>
                                <select id="select_qty">
                                <?
                                $z = 1;
                                    //foreach($color_array as $y2 => $qData){
                                        if($z == 1){
                                            for($o=1;$o<=$tData['g_quantity'];$o++){
                                                echo '<option value="'.$o.'">'.$o.'</option>';
                                            }
                                            
                                        }
                                        
                                        $z = 0;
                                    //}
                                ?>
                                </select>
                            <?}else{
                                echo 'Netu';
                            }?>
                        </div>
                        <div>
                            Kod: <?=mb_strtoupper($tData['type'].'-'.$tData['group_id'].'-'.$tData['color'])?>
                        </div>
                        <div>
                            Material: <?=$material[$lang]?>
                        </div>
                        <div>
                            Dekor: <?=$decoration[$lang]?>
                        </div>
                        <div>
                            Diametr: <?=$tData['size']?>
                        </div>
                        <div>
                            Ves: <?=$tData['weight']?>
                        </div>
                        <div>
                            Upakovka: <?=$packing[$lang]?>
                        </div>
                        <div>
                            <?if($tData['g_quantity']>0){?>
                                <a class="button order_click" rel1="<?=$y?>" rel="<?=mb_strtoupper($tData['type'].'-'.$tData['group_id'].'-'.$tData['color'])?>" href="javascript:;">Polozirj v karzinu</a>
                            <?}else{}?>
                        </div>
                        <div>
                            <a href="#" class="jqmClose">Close</a>
                        </div>
                    </div>
                </div>
            </div>
            <!-- -->
            
        </form>
            
        
    <?
    }



Код

$().ready(function() {
    <?
    foreach($id_array_all as $y => $tData){?>
            //$('#dialog1-'+<?=$idData?>).jqm();
            if ( $('#dialog1-<?=$y?>').css('display')=="none" ){
                $('#dialog1-<?=$y?>').jqm({modal: true, trigger: '#open1-<?=$y?>'});
                
            }
        <?}?>
    
});


Так же я не пойму почему при выборе количества(select id=select_qty) товара, он передаётся через value при таком действии
Код

$('.order_click').click(function(){
    var relz = $(this).attr('rel1');
    var rel = $(this).attr('rel');
  
  $.ajax({
   type: "POST",
   url: "actions.php",
   data: "good_id="+relz+"&code="+rel+"&action=add_goods_in_basket&select_qty="+document.getElementById('select_qty').value,
   success: function(msg){
    //if(msg == null){ alert('sadasda');}else{
    // alert( msg );
    // }
   }
 });


Что бы я не выбрал он передаёт тока 1 почему ? Данная строка Некоррекно написана ?
Код

data: "good_id="+relz+"&code="+rel+"&action=add_goods_in_basket&select_qty="+document.getElementById('select_qty').value,


PM MAIL   Вверх
c0va23
Дата 16.12.2010, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 28.11.2010

Репутация: 2
Всего: 3



Сильно не вникал, но могу сказать, что скорее всего для навешивания события смены содержимого блока на кнопки вы используете $('').click(), а нужно использовать $().live('click', function()). Так нужно делать потому что click навешивает события только в момент полной загрузки страницы, и не навешивает на вновь подгруженные элементы страницы. А live('click',..) навешивает обработку событий во время вставки элемента в дерево, что может происходить в любой момент. 
Вот тут официальные доки этой функции. Почитайте, должно помочь.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.