4

私がやりたいことは、モーダルボックスの各チェックボックスでチェックされた値をテキストボックスに返すことです。この質問はこれとよく似ていますが、質問の目的は異なります。というわけで、両方見てください。:)

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

<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">
        <a href=\"javascript:;\" onclick=\"$('#products_id_textbox').val(\"input[name='checkedID[]']:checked\");$('#products_modal_box').dialog('close')();\">Submit</a>
         <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><input type='checkbox' name='checkedID' value='" . $fetch[0] . "' /></td>"; //--> How to get the value of $fetch[0], collect it and return to a textbox?
              print "  <td>" . $fetch[0] . "</td>"; //$fetch[0] == Product ID
              print "</tr>";
            }
          ?>
          </tbody>
        </table>
      </form>
    </div>
  </div>
</div>

上記のように、疑似セレクター関数を使用しようとしていますinput[name='checkedID[]']:checkedが、値を返すことができませんでした。または、コードに欠けているものがありますか?

そして、モーダルボックスでチェックされた値を返すためのテキストボックスは次のとおりです。

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

可能なコードは、モーダル ボックスを表示することです。しかし、ユーザーが各テキストボックスから選択した「製品」をテキストボックスに返す方法はproducts_id_textbox? ありがとう。

4

4 に答える 4

3

このコードで解決された問題:

<script>
$("input#checkedID").change(function () {
  var str = "";
  $("input:[name='checkedID[]']:checked").each(function () {
        str += $(this).val() + ", ";
  });
  $("input#products_id_textbox").val(str);
})
.trigger('change');
</script>

モーダルボックスを閉じるためだけのボタンの変更:

<a href=\"javascript:;\" onclick=\"$('#products_modal_box').dialog('close')();\">Submit</a>

その関数は:checked Selectorと呼ばれていました。

どうもありがとうございました。お役に立てば幸いです... :)

于 2012-10-20T05:16:52.973 に答える
0

PHPから出力しているものはcheckedIDではなくcheckedID[]変更

print "  <td><input type='checkbox' name='checkedID' value='" . $fetch[0] . "' /></td>";

print "  <td><input type='checkbox' name='checkedID[]' value='" . $fetch[0] . "' /></td>";
于 2012-10-17T07:03:41.503 に答える
0

以下のコードを試してください:

    myCheckbox is a class which you need to assign your checkboxes..

    var checkboxValues = $('.myCheckbox:checked').map(function() {
        return $(this).val();
    }).get();


Then you can assign that values into your textbox....

$('#products_id_textbox').val(checkboxValues);

これがあなたを助けることを願っています...

于 2012-10-19T09:53:09.370 に答える
0

セレクターは次のようになります。

$("input[name='checkedID[]']:checked")

「checkedID[]」という名前のすべてのチェックボックスがオンになっています。すべての値を取得するにはループする必要があります。

お役に立てれば !

于 2012-10-19T10:30:12.690 に答える