У меня есть код для инициализации модального окна:
<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> </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»? Благодарю.
добавить встроенный 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>"; } ?>
Вместо использования встроенного 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'); });