在页面上显示超过1的模态框

时间:2012-08-15 02:17:41

标签: php javascript jquery modal-dialog

<<参考this thread>>

我想在页面上制作几个模态框:

<script>
var grid_modal_options = {
    height: 'auto',
    width: '80%',
    modal: true
};
function showProducts1ModalBox() {
    $("#products1_modal_box").dialog(grid_modal_options);
    $("#products1_modal_box").parent().appendTo('form:first');
}
function showProducts2ModalBox() {
    $("#products2_modal_box").dialog(grid_modal_options);
    $("#products2_modal_box").parent().appendTo('form:first');
}
function showProducts3ModalBox() {
    $("#products3_modal_box").dialog(grid_modal_options);
    $("#products3_modal_box").parent().appendTo('form:first');
}
</script>

<div id="products1_modal_box" title="Products" style="display: none;">
  <div class="in">
    <div class="grid-12-12">
      <form id="products1_modal_box_form" action="#" method="post">
    <table>
          <thead>
            <tr>
              <th>&nbsp;</th>
              <th>Product</th>
            </tr>
          </thead>
          <!-- Query for read mysql goes here (I skipped this line because it's not the main thing I'm gonna ask since it's run well) /-->
          <tbody>
          <?php
            //read the results
            while($fetch = mysqli_fetch_array($r)) {                
              print "<tr>";
              print "  <td><a href=\"javascript:;\" onclick=\"$('#products1_id_textbox').val('".$fetch[0]."');$('#products1_modal_box').dialog('close');\">Choose</a></td>";
              print "  <td>" . $fetch[0] . "</td>"; //$fetch[0] == Product ID
              print "</tr>";
            }
          ?>
          </tbody>
        </table>
      </form>
    </div>
  </div>
</div>

<div id="products2_modal_box" title="Products" style="display: none;">
  <!-- 
    The rest goes here (the same with "products1_modal_box") 
    except: 
    print "  <td><a href=\"javascript:;\" onclick=\"$('#products2_id_textbox').val('".$fetch[0]."');$('#products2_modal_box').dialog('close');\">Choose</a></td>";
  /-->
</div>

<div id="products3_modal_box" title="Products" style="display: none;">
  <!-- 
    The rest goes here (the same with "products1_modal_box") 
    except: 
    print "  <td><a href=\"javascript:;\" onclick=\"$('#products3_id_textbox').val('".$fetch[0]."');$('#products3_modal_box').dialog('close');\">Choose</a></td>";
  /-->
</div>

<input type='text' id='products1_id_textbox' name='products1_id_textbox' />
<a href='#' onclick='showProducts1ModalBox(); return false;'>Choose products 1</a>

<input type='text' id='products2_id_textbox' name='products2_id_textbox' />
<a href='#' onclick='showProducts2ModalBox(); return false;'>Choose products 2</a>

<input type='text' id='products3_id_textbox' name='products3_id_textbox' />
<a href='#' onclick='showProducts3ModalBox(); return false;'>Choose products 3</a>

为什么这不起作用?当我删除div“products2_modal_box”和“products3_modal_box”时,div“products1_modal_box”的模式框出现,但是当我试图取回所有这些时,我点击链接时不会出现每个模态框。代码有什么问题?感谢..

1 个答案:

答案 0 :(得分:0)

这在技术上不能回答你的问题,但我在我的网站上使用jQuery Reveal作为模态。看起来比你想做的容易得多。这是来源:http://www.zurb.com/playground/reveal-modal-plugin

设置非常简单,每页可以有多个模态,可以通过事件(例如单击)触发它们,也可以使用jquery动态触发它们。

希望这有帮助!