php - 获取引导模式值并设置为文本字段

标签 php jquery mysql modal-dialog

我有一个填充了 MySQL 数据的引导模式。我遇到的问题是,当我在选中复选框后单击按钮时,数据从未发送到文本框。

这是我的模式:

<div class="modal fade" id="phoneList" tabindex ="-1" role="dialog" aria-labeledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
   <div class="modal-content">
    <div class="modal-header">
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
       <h4 class="modal-title">Contact List</h4>
        </div>
         <div class="modal-body">

         <form class="form-horizontal" name="formPbook"/>
         <table class="table table-striped table-hover table-bordered">
         <thead>
          <tr>

          <th><input type="checkbox" class="form-control" name="chk_all" id="chk_all" onClick="CheckAll();"/>All</th>
           <th>Phone Number</th>
            <th>Name</th>
             </tr>
              </thead>
               <tbody>
                <tr>
          <?php
          include('function.php');

          try{
            $query = $conn->prepare("SELECT * FROM phonebook");
            $query->execute();
          }
          catch(PDOException $e){
            echo $e->getMessage();
            exit;
          }
          while($rs = $query->fetch())
          {
            extract($rs);
            ?>
                <td><input type="checkbox" name="select_all[]" value="<?php echo $PhoneNumber;?>" /></td>
                <td><?php echo $PhoneNumber;?></td>
                 <td><?php echo $Name;?></td>
                  </tr>
            <?php
          }
          ?>
          </tbody>
           </table>
         <div class="form-group">
          <div class="col-md-6">
           <button type="submit" id="btnselect" name="btnselect" class="btn btn-success pull-right">ACCEPT</button>
           </div>
            </div>
            </div>
             </div>
              </div>
                </form>

这里是触发器和应该被填充的文本框:

<form name="sentMessage" id="contactForm" novalidate autocomplete="off">
                    <div class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label>Phone Number</label>
                            <input type="tel" class="form-control" placeholder="09**********" id="phoneNumber" required data-validation-required-message="Please enter your phone number.">
                            <p class="help-block text-danger"></p>
                        </div>
                        <button type="button" class="btn btn-success" id="fromContact" name="fromContact"
                        data-target="#phoneList" data-toggle="modal">Select from PhoneBook</button>
                        <button type="button" name="addPhoneBook" id="addPhoneBook" class="btn btn-default" data-toggle="modal" data-target="#addContact">Add Contact</button>
                    </div>
                    <div class="row control-group">
                        <div class="form-group col-xs-12 floating-label-form-group controls">
                            <label>Message</label>
                            <textarea rows="10" cols="45" class="form-control" placeholder="Message" id="smsMessage" required data-validation-required-message="Please enter a message."></textarea>
                            <p class="help-block text-danger"></p>
                        </div>
                    </div>
                    <br>
                    <div class="row">
                        <div class="form-group col-xs-12">
                            <button type="submit" id="sendMessage" name="sendMessage" class="btn btn-success btn-lg">Send</button>
                        </div>
                        <div id="result">
                         <img src="img/hourglass.gif" id="loading" style="display:none" class="col-lg"/>
                        </div>
                        <div id="msg"></div>
                    </div>
                </form>

我尝试使用这个 jquery:

var arr = [];
$('#inputs input').change(function() {
if (this.checked) {
arr.push(this.value);
}
else {
 arr.splice(arr.indexOf(this.value), 1);
}
$('#target').val(arr + '');
});

请帮助我,因为我被困在这几天了......

我将我的 jscript 代码更改为此

$('formPbook').submit(function(){
        var arr[];
         $('input:checked[name=select_all[]]').each(function(){
          arr.push($(this).val());
         });
         $('#phonenum').val(arr.join(''));
          alert($('honenum').val());
           return false;
      });

但是还是不行....

最佳答案

我通过实验找到了解决方案,这就是结果。

<!-- Select Phone Numbers from phonebook -->
 <div class="modal fade" id="phoneList" tabindex ="-1" role="dialog" aria-labeledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
   <div class="modal-content">
    <div class="modal-header">
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
       <h4 class="modal-title">Contact List</h4>
        </div>
         <div class="modal-body">
         <div id="inputs">
         <table class="table table-striped table-hover table-bordered">
         <thead>
          <tr>
          <th><input type="checkbox" class="form-control" name="chk_all" id="chk_all" onClick="CheckAll();"/>All</th>
           <th>Phone Number</th>
            <th>Name</th>
             </tr>
              </thead>
               <tbody>
                <tr>
          <?php
          include('function.php');

          try{
            $query = $conn->prepare("SELECT * FROM phonebook");
            $query->execute();
          }
          catch(PDOException $e){
            echo $e->getMessage();
            exit;
          }
          while($rs = $query->fetch())
          {
            extract($rs);
            ?>
                <td><input type="checkbox" name="select_all[]" value="<?php echo $PhoneNumber;?>" /></td>
                <td><?php echo $PhoneNumber;?></td>
                 <td><?php echo $Name;?></td>
                  </tr>
            <?php
          }
          ?>
          </tbody>
           </table>
            </div>
             </div>
               </div>
                </div>
                 </div>
                  </div>

解决我问题的 javascript。

 var arr = [];
     $('#inputs input').change(function() {
if (this.checked) {
arr.push(this.value);
}
else {
arr.splice(arr.indexOf(this.value), 1);
}
$('#phoneNumber').val(arr + '');
});

关于php - 获取引导模式值并设置为文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35664347/

相关文章:

javascript - 在行内显示 jQuery dataTables 错误 (AngularJS)

MySQL CSV 一栏导出HTML代码

php - 将 SQL 查询应用于内存中的 PHP 对象或数组

Javascript for 循环 Firebase 更新

javascript - BxSlider 无法在 IE 中通过 https 工作(混合内容警告)

javascript - 很多 Jquery 和 check/radio/select 样式元素——无样式内容的 Flash

mysql - 输出 MySQL 记录列表,按类别分组?

mysql - 类别、子类别和服务的数据库结构

PHP 正在删除在 echo 语句后键入的换行符

java - 从 mysql select 获取计数结果并解析到 TextView