Диалог jQuery не открывается второй раз

0

Я использую диалоговое окно jquery для редактирования продукта на клике "Редактировать". Он открыт для первого продукта, но не для второго продукта, пока я делаю список для продукта

следующий - код диалогового окна jquery

$(function() {
    $( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 570,
        width: 300,
        modal: true,
        buttons: {
            "Update": function() {
                window.location.href = '<?=base_url()?>cart/remove_cart_prod/';
        },
        Cancel: function() {
            $( this ).dialog( "close" );
        }
    },
        close: function() {
            allFields.val( "" ).removeClass( "ui-state-error" );
        }
    });

    $( "#edit-item" ).click(function() {
        $( "#dialog-form" ).dialog( "open" );
    });
});

и, наконец, мой php-код

<div id="dialog-form" title="Edit <?=$prodname?>">
        <p class="validateTips">All form fields are required.</p>
        <form action="<?=base_url()?>cart/remove_cart_prod/" method="post">
          <fieldset>
            <label for="size">Size</label>
            <select id="size" name="size" onchange="calculate(this)">
              <option value="">Choose Your Size</option>
                <?php
                    $sizequery = $this->db->query("SELECT * FROM size WHERE product_id = " . $proddata->id . " and status = 1");
                    if($sizequery->num_rows() > 0) 
                    {
                        foreach($sizequery->result() as $row) 
                        {
                            $prodsize = $row->size_from .' x '. $row->size_to;
                ?>
              <option value="<?=$prodsize?>" id="<?=$row->price?>"><?=$row->size_from?> x <?=$row->size_to?></option>
              <?php } } ?>
            </select>
            <label for="quantity">Quantity</label>
            <select id="quantity" name="quantity" onchange="calculate(this)">
              <option value="">Choose Your Quantity</option>
                <?php
                    $query = $this->db->query("SELECT * FROM quantity WHERE product_id = " . $proddata->id . " and status = 1");
                    if($query->num_rows() > 0) 
                    {
                        foreach($query->result() as $row) 
                        {
                            for($i = $row->quantity_from; $i <= $row->quantity_to; $i++)
                            {   
                ?>
              <option value="<?=$i?>" id="<?=$row->discount?>">
              <?=$i?>
              </option>
              <?php } } } ?>
            </select>
            <label for="color">Color</label>
            <select id="color" name="color" onchange="calculate(this)">
              <option value="">Choose Your Color</option>
              <option value="2">2 Color</option>
              <option value="3">3 Color</option>
              <option value="4">4 Color</option>
            </select>
            <label for="shippint_time">Shiping Time</label>
            <select id="shipping_time" name="shipping_time" onchange="calculate(this)">
              <option value="">Choose Your Shipping Time</option>
              <option value="0">Normal Shipping FREE</option>
              <option value="100">Express Shipping 100$</option>
            </select>
          </fieldset>
          <div class="pricebox">
            <p>Product Price: <span>$</span><span id="product_price"></span></p>
            <p>Product Discount: <span>$</span><span id="product_discount"></span></p>
            <p>Total Price: <span>$</span><span id="result"></span></p>
          </div>
        </form>
      </div>
      <!-- end dialog box -->
      <div class="six columns" style="padding:0px;"><a href="javascript:void(0)" id="edit-item">Edit</a> | <a href="<?=base_url()?>cart/remove_cart_prod/<?=$item['rowid']?>" class="duplicate11" id="<?=$proddata->id?>">Remove</a> | <a href="<?=base_url()?>cart/duplicate_cart_prod/<?=str_replace(' ', '-', $prodname)?>/<?=str_replace(' ', '-', $item['size'])?>/<?=$item['qty']?>/<?=$item['price']?>/<?=$item['color']?>/<?=$item['shipping']?>/<?=$item['discount']?>" class="duplicate11" id="<?=$proddata->id?>">Duplicate</a></div>

диалоговое окно должно открыть это конкретное диалоговое окно, когда я нажимаю "Изменить",

  • 0
    autoOpen: false необходимо изменить true
  • 0
    проверьте вашу консоль и посмотрите, есть ли в ней ошибки
Теги:
dialog

1 ответ

0

Когда код $( "#dialog-form").dialog( "open" ); , #dialog-form DIV удаляется из исходной позиции в HTML и добавляется к последней части элемента body.

Вы можете проверить #dialog-form DIV, которая может быть показана, даже если элемент перемещен в последнюю часть элемента body?

Если это не является причиной проблемы, можете ли вы увидеть консоль javascript, если нет ошибок JavaScript?

  • Используйте комбинацию клавиш Command - Option - J (Mac) или Control -Shift -J (Windows/Linux).
  • Выберите "Просмотр"> "Разработчик"> "Консоль JavaScript".
  • 0
    это мой сайт: doitprinting.com/banners-printing С левой стороны находится форма «Разместить заказ». Пожалуйста, заполните эту форму, и вы окажетесь на странице корзины, где при редактировании я реализую этот диалоговый код. на первом продукте он работает нормально, а на втором вы увидите ошибку

Ещё вопросы

Сообщество Overcoder
Наверх
Меню