在表单中添加数据库的下拉列表

时间:2014-06-03 10:50:27

标签: javascript php html forms

我的问题最终被称为 MY PROBLEMS 。在你尝试完成我写的所有内容之前,请先阅读这些问题,这样我就不会浪费你太多的时间。

我有一个表单,我需要输入某些值


ITEM |数量|价格|折扣| TOTAL

第1项| 1 | 100 | 05 | 95

第2项| 4 | 250 | 10 | 900

添加更多

总计:995


  • 点击“添加更多”链接后,会出现一组新的相同输入字段,依此类推。
  • 自动计算每个小计(在这种情况下为95和900)。
  • 自动添加这些小计以获得最终总数(在这种情况下为995)。

我用来拥有“添加更多”功能的脚本如下

<script>
 $(document).ready(function() {
 var InputsWrapper = $("#InputsWrapper");
 var AddButton = $("#AddMoreFileBox");
 var x = InputsWrapper.length;
 var FieldCount = 1;
    $(AddButton).click(function(e){
                FieldCount++;
                $(InputsWrapper).append('<tr><td><input class="item" type="text" name="item[]"></td><td><input class="qty" type="number" name="qty[]"></td><td><input class="price" type="number" name="price[]"></td><td><input class="discount" type="number" name="discount[]">%</td><td><input class="total" type="number" name="total[]" readonly ></td></tr>');
                x++;
                return false;
            });
 });
</script>

以下是我的表格。

<table id="InputsWrapper">
            <tr>
            <span class="small"><a href="#" id="AddMoreFileBox" class="btn btn-info">Add More Field</a></span></tr>
                        <tr>
                            <td><label for='item'>Item:</label></td><td><label for='qty'>Quantity:</label></td><td><label for='price'>Price:</label></td><td><label for='discount'>Discount</label></td><td><label for='vat'>VAT</label></td><td><label for='total'>Final Price:</label></td>
                        </tr>
                        <tr>
                            <td><input class='item' type='text'  name='item[]'></td>
                            <td><input class='qty' type='number' name='qty[]'></td>
                            <td><input class='price' type='number' name='price[]'></td>
                            <td><input class='discount' type='number'  name='discount[]'>%</td>
                            <td><input class='total' type='number' name='total[]' readonly></td>
                        </tr>
                        <tr>
                            <td><input id='totaldp' type='number' name='totaldp' readonly</td>
                        </tr>
</table>

现在,我需要一个名为 tax 的额外字段,该字段将使用从具有税值的数据库填充的下拉列表获取。我还需要将此税值作为下拉列表显示在每个项目上


ITEM |数量|价格|折扣|税收| TOTAL


这是我用来在表单

中制作下拉列表的代码
<td>
  <?php 
     $query = mysqli_query($con, "SELECT * FROM `tax`");
     echo '<select name="vat" class="vat">';

     while ($row = mysqli_fetch_array($query)) {
     echo '<option value="' . $row['tax_rate'] . '">' . $row['tax'] . '</option></br>';
     }

     echo '</select>';
  ?>
</td>

在脚本中,我添加 class =“vat”type =“number”name =“vat []”

我的问题:

  1. 这样做,我只得到一次下拉菜单。点击“添加更多”字段只会显示一个空的下拉列表。
  2. 如果有人可以提供帮助,请告诉我。
  3. 我认为这是非常低效和愚蠢的做法,所以如果有更好的方法,请告诉我。

1 个答案:

答案 0 :(得分:1)

请分享如何将选择添加到追加代码中。看来你在那里做错了什么。

所以我首先推荐你这个html和php:

<table id="InputsWrapper">
        <tr>
        <span class="small"><a onclick="addRow();" id="AddMoreFileBox" class="btn btn-info">Add More Field</a></span></tr>
                    <tr>
                        <td><label for='item'>Item:</label></td><td><label for='qty'>Quantity:</label></td><td><label for='price'>Price:</label></td><td><label for='discount'>Discount</label></td><td><label for='vat'>VAT</label></td><td><label for='total'>Final Price:</label></td>
                    </tr>
                    <tr>
                        <td><input class='item' type='text'  name='item[]'></td>
                        <td><input class='qty' type='number' name='qty[]'></td>
                        <td><input class='price' type='number' name='price[]'></td>
                        <td><input class='discount' type='number'  name='discount[]'>%</td>
<td>
  <?php 
 $query = mysqli_query($con, "SELECT * FROM `tax`");
 echo '<select name="vat" class="vat">';

 while ($row = mysqli_fetch_array($query)) {
 echo '<option value="' . $row['tax_rate'] . '">' . $row['tax'] . '</option></br>';
 }

 echo '</select>';
  ?>
</td>
                        <td><input class='total' type='number' name='total[]' readonly></td>
                    </tr>
                    <tr>
                        <td><input id='totaldp' type='number' name='totaldp' readonly</td>
                    </tr>

请注意,对于“添加更多按钮”,我使用了javascript函数:

<script type="text/javascript"><!--
var module_row = <?php echo $module_row; ?>;

function addRow() { 
html = '<tr>';
html+= '<td><input class='item' type='text'  name='item[]'></td>';
                        html+= '<td><input class='qty' type='number' name='qty[]'></td>';
                        html+= '<td><input class='price' type='number' name='price[]'></td>';
                        html+= '<td><input class='discount' type='number'  name='discount[]'>%</td>';
<?php $query = mysqli_query($con, "SELECT * FROM `tax`"); ?>
html += '<select name="vat" class="vat">';
<?php while ($row = mysqli_fetch_array($query)) { ?>

html += '<option value="<?php echo $row['tax_rate']; ?>">';
html += $row['tax'];
html += '</option></br>';
<?php } ?>

html += '</select>';
                        html+= '<td><input class='total' type='number' name='total[]' readonly></td>';
                    html+= '</tr>';
module_row++;

 $(InputsWrapper).append(html);
}
//--></script> 

我很抱歉代码格式,没有代码检查,但我在工作,没有时间。如果你可以删除我所做的js和代码错误,它应该可以正常工作。如果不是,我回家后可以让你成为更好的解决方案。