对齐动态生成的表单字段

时间:2012-10-19 02:54:21

标签: php jquery html css

我有一个包含一些字段的表单,然后是一些由jquery生成的表单。问题是新的问题与现有问题不一致。我试着摆弄CSS,但它不起作用。这完全这个家伙的问题,但他没有得到答复:

https://stackoverflow.com/questions/9218225/dynamically-generated-jquery-table-row-not-aligning-correctly

这是我的表格:

<form id="recipe" name="recipe" action="create.php" method="post">
    <h2>Ingredients</h2>
    <div id="labels">            
        <label class="label" for="quantity">Quantity:</label>
        <label class="label" for="unit">Unit:</label>
        <label class="label" for="ingredient">Ingredient:</label>
    </div>

    <div id="inputs">
        <div class="fields">
            <input class="quantity" name="quantity[]" type="text" />
            <input class="unit" name="unit[]" type="text" />
            <input class="ingredient" name="ingredient[]" type="text" />
        </div>
    </div>

    <div id="container">
      <a id="add" href="#"><span>» Add ingredient.</span></a>
   </div>              

   <div>
        <h2>Directions</h2>
        <textarea name="preparacion" rows="10" cols="51"></textarea>
    </div>

    <input type="submit" value="Guardar" />
    <input type="reset" value="Limpiar" />
</form>

这是我用来生成其他字段的JS:

        var count = 0;
        $(function(){
        $('a#add').click(function(){
                count += 1;
                $('#inputs').append('<div class="fields"><input class="quantity" name="quantity[]" type="text" /><input class="unit" name="unit[]" type="text" /><input class="ingredient" name="ingredient[]" type="text" /></div>');
});
});

然而,结果如下:

  

enter image description here

(请删除空格,不会让我发布图片)

2 个答案:

答案 0 :(得分:2)

问题在于,在原始输入行中,输入由新行或空格字符分隔,当您添加新行时,您将所有代码附加在一起,并使一个输入更接近前一个

简单的解决方案,在js代码中的每个输入后添加一个空格:

var count = 0;
    $(function(){
    $('a#add').click(function(){
            count += 1;
            $('#inputs').append('<div class="fields"><input class="quantity" name="quantity[]" type="text" /> <input class="unit" name="unit[]" type="text" /> <input class="ingredient" name="ingredient[]" type="text" /></div>');
});`

答案 1 :(得分:0)

在输入之间添加空格?

$('#inputs').append('<div class="fields"><input class="quantity" name="quantity[]" type="text" /> <input class="unit" name="unit[]" type="text" /> <input class="ingredient" name="ingredient[]" type="text" /></div>');