我已经成功地将input元素添加到div中,如下所示:
$(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。我期待着你的回复。
发布于 2010-06-17 17:16:22
我猜你想要旧的文件消失,在这种情况下,你应该首先empty jawaban
的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 />');
}
});
});
https://stackoverflow.com/questions/3060265
复制相似问题