2010-06-17 47 views
0

我已经成功地将输入元素放入格,它看起来像这样:jQuery的,加上输入元素

$(document).ready(function() { 
    $('#jumlah').change(function() { 
var jum = $('#jumlah').val(); 

for(i=1;i<=jum; i++){ 
    $('#jawaban').append('<label>Jawaban Soal ' + i + ' : </label><input type="text" name="jawab'+i+'" id="jawab[]" size="2" maxlength="1" /><br>'); 
} 
    }); 
}); 

和我的一些HTML代码:

<select name="jumlah" id="jumlah" class="test"> 
    <option value="0" selected="selected">choose value</option> 
    <?php 
    for($i=1;$i<=20;$i++) 
    echo("<option value=\"$i\">$i</option>"); 
?> 
</select> 

<div id="jawaban"></div> 

,但是当我选择不同的价值,它会在第一个输入元素下添加更多输入元素,例如,如果我选择选项2,然后是选项3,它将如下所示:

Jawaban Soal 1 : <input /> 
Jawaban Soal 2 : <input /> 
Jawaban Soal 1 : <input /> 
Jawaban Soal 2 : <input /> 
Jawaban Soal 3 : <input /> 

请大家帮忙,我还是Jquery的小辈。我期待着您的回应。

+1

当问问题状态的** a)您希望发生什么**和b)实际发生了什么(你没有) – 2010-06-17 09:12:14

+0

好,我会记住的,对不起我的英文不好:) – Siwan 2010-06-17 09:23:08

回答

3

我猜你想要旧的消失,在这种情况下,你应该首先emptyjawaban div。

$(document).ready(function() { 
    $('#jumlah').change(function() { 
    var jum = $('#jumlah').val(); 

    $('#jawaban').empty(); 

    for(i=1;i<=jum; i++){ 
     $('#jawaban').append('<label>Jawaban Soal ' + i + ' : </label><input type="text" name="jawab'+i+'" id="jawab[]" size="2" maxlength="1" /><br>'); 
    } 
    }); 
}); 

你(逸岸相当数量的人),应该缓存 jQuery的对象构建。每次在代码中使用$('someSelector')时,jQuery会重新选择您的元素,并且每次都会为您返回一个新对象。 这不是小事!

$(document).ready(function() { 
    $('#jumlah').change(function() { 
    var jum = +$('#jumlah').val(); // convert this to an integer (it's a string otherwise) 
    var jawaban = $('#jawaban').empty(); 

    for(var i=1;i<=jum; i++){ // don't forget to initialize i! 
     jawaban.append('<label>Jawaban Soal ' + i + ' : </label><input type="text" name="jawab'+i+'" id="jawab[]" size="2" maxlength="1" /><br />'); 
    } 
    }); 
}); 
+0

哇,它的作品像魅力!谢谢Matt – Siwan 2010-06-17 09:26:19

+0

@Siwan:很高兴听到!我建议你看看我在第二个示例中提出的建议,以进一步改进代码! – Matt 2010-06-17 09:36:11

+0

确定马特,我已将您的建议带入我的代码。但另一个问题发生,我想确保那些动态创建的输入元素不是空的,并且在提交时必须是字母数字,如何验证? – Siwan 2010-06-18 01:24:55