1

モーダルボックスを初期化するコードがあります:

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

<div id="products_modal_box" title="Products" style="display: none;">
  <div class="in">
    <div class="grid-12-12">
      <form id="products_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='#'>Choose</a></td>"; //--> How to return the value of $fetch[0]?
              print "  <td>" . $fetch[0] . "</td>"; //$fetch[0] == Product ID
              print "</tr>";
            }
          ?>
          </tbody>
        </table>
      </form>
    </div>
  </div>
</div>

と:

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

コードはモーダル ボックスの表示に成功します。しかし、ユーザーが選択した「製品」をテキストボックス「products_id_textbox」に戻す方法は? ありがとう。

4

2 に答える 2

1

インラインJSを使用する代わりに、そのように書くことができます(またはこのようなもの)。

// php
while($fetch = mysqli_fetch_array($r)) {                
    print "<tr>";
    print "  <td><a rel='dialog' data-id='{$fetch[0]}'>Choose</a></td>";
    print "  <td>{$fetch[0]}</td>";
    print "</tr>";
}

// js
$(document).ready(function(){
...
$("a[rel=dialog]").each(function(){
   var id = this.getAttribute("data-id");
   $('#products_id_textbox').val(id);
   $('#products_modal_box').dialog('close');
});
于 2012-08-14T13:34:03.637 に答える
1

インライン JavaScript を追加します。

<?php
    while($fetch = mysqli_fetch_array($r)) {                
        print "<tr>";
        print "  <td><a href=\"javascript:;\" onclick=\"$('#products_id_textbox').val('".$fetch[0]."');$('#products_modal_box').dialog('close');\">Choose</a></td>"; //--> How to return the value of $fetch[0]?
        print "  <td>" . $fetch[0] . "</td>"; //$fetch[0] == Product ID
        print "</tr>";
    }
?>
于 2012-08-14T12:42:17.097 に答える