4

这让我很困惑,我无法将我的表单有序地保存到我的数据库中。

请看下图。形成图像 在此处输入图像描述

数据库示例只保存...

示例数据库

所以当你看到它不是 1、2、3、4 而是在图像上是 1、3、2、4 我怎样才能有序地保存它?

代码

<table cellpadding="5" cellspacing="0" width="100%" class="computation_table">
<tr>
    <th></th>
    <th>Categorie&euml;n</th>
    <th>Aantal</th>
    <th>Omschrijving</th>
    <th>Bedrag</th>
    <th>Totaal</th>
    <th>BTW</th>
    <th></th>
</tr>
<tr>
    <td>
    <a id="add_new_element"><img src="images/add.png" width="20" alt="add product" /></a> 
    <a id="add_new_category"><img src="images/cat.png" alt="add category" /></a>
    </td>
    <td align="left" colspan="6">
        <input type="text" name="input[0][cat_name]" style="font-weight:bold;" value="Categorie naam" />
    </td>
</tr>
<tr>
    <td>
    <a id="add_new_element"><img src="images/add.png" width="20" alt="add product" /></a>
    <a id="add_new_category"><img src="images/cat.png" alt="add category" /></a>
    </td>
    <td>
        <input type="text" name="input[0][category]" class="text_com" value="" />
    </td>
    <td>
        <input type="text" name="input[0][quantity]" id="new_quan" class="quantity text_com" value="" /> x
    </td>
    <td width="180">
        <textarea name="input[0][quo_definition]" class="input"></textarea>
    </td>
    <td>
        <input type="text" name="input[0][quo_amt]" id="new_amt" class="quantity text_com" value="0" />
    </td>
    <td id="total">
        <span id="view_total_0">0</span>
        <input type="hidden" name="input[0][quo_total]" id="new_total" class="quantity text_com" value="0" />
    </td>
    <td>
        <select name="input[0][quo_btw]" class="btwselect">
            <option value="21%" selected="selected">21%</option>
            <option value="6%">6%</option>
            <option value="0%">0%</option>
        </select>
    </td>
</tr>
</table>
<br />
<div class="ClientProductItemsSubTotal">
<table cellpadding="5" cellspacing="0" width="100%">
<tr>
<td><strong>Korting</strong></td><td><input type="text" name="discount" class="quantity" value="" /></td>
</tr>
</table>
</div>

形成数据库$input = array();

foreach( $_POST['input'] as $input ) {
$mysqli->query( "INSERT INTO jon_com_quo_computation VALUE('', '$uc', '$cc', '$ct', '$cur', '', '".$input['cat_name']."', '".$input['category']."', '".$input['quantity']."', '".$input['quo_definition']."', '".$input['quo_amt']."', '".$input['quo_total']."', '".$input['quo_btw']."', '$dis', '', '', '1', 'new', NOW() )" );
}

jQuery在下面添加表单......应该在底部......我用过.insertAfter(rowfield);

jQuery(function() {    
id = 0;
jQuery('a#add_new_element').live('click', function() {
id++;

var rowfield = jQuery(this).parent().parent();//add some .parent() untill you get the TR element
jQuery('<tr><td><a id="add_new_element"><img src="images/add.png" width="20" alt="add product" /></a> <a id="add_new_category"><img src="images/cat.png" alt="add category" /></a></td><td><input type="text" name="input['+id+'][category]" class="text_com" value="" /></td><td><input type="text" name="input['+id+'][quantity]" id="new_quan" class="quantity" value="" /> x</td><td width="200"><textarea name="input['+id+'][quo_definition]" class="input"></textarea></td><td><input type="text" name="input['+id+'][quo_amt]" id="new_amt" class="quantity" value="0" /></td><td><span id="view_total_'+id+'">0</span><input type="hidden" id="new_total" name="input['+id+'][quo_total]" class="quantity" value="0" /></td><td><select name="input['+id+'][quo_btw]" class="btwselect"><option value="21%" selected="selected">21%</option><option value="6%">6%</option><option value="0%">0%</option></select></td><td><a id="del_row"><img src="images/del.png" class="DelRow" alt="delete" /></a></td></tr>').insertAfter(rowfield);

});

非常感谢您的分享想法....

编辑:更多解释......我需要修复两件事。首先是当它保存到我的数据库时,顺序并没有真正遵循。应该a b c d不是a c b d

第二件事是我不确定我是否要使用insertAfter()或者insertBefore() 我的老板想要的是,他可以添加任何形式——当他点击添加按钮时,它应该在下面添加。

例如,当我单击绿色 + 添加按钮时,它应该添加到已添加的最后一个 tr 中。

我愿意解释更多..

4

1 回答 1

1

尝试在单击事件中使用 append 而不是 insertAfter:

var $table = jQuery(this).closest('table')
$table.append('<tr>whatever</tr>');
于 2013-07-10T07:33:20.633 回答