ドロップダウンに基づいてjqueryを使用してフォームに入力します人数と歩行者の数を処理するドロップダウンが1つあります選択した人数に基づいてdivでhtmlを生成しますが、非常に多くのフィールドがあり、それらを変数に取りましたが、 HTMLでスペースを使用するとエラーが表示されるため、これに代わるものは何ですか?forループで変数を使用してhtmlを生成するにはどうすればよいですか?
<script src="http://code.jquery.com/jquery-1.9.1.js"></script></script>
<script>
$(document).ready(function () {
$("#num-people").change(function () {
var countP = parseInt($("select#num-people option:selected").val());
$("#walker option").each(function (index) {
if (countP < index) {
var newindex = index
$("#walker option[value=" + newindex + "]").remove();
}
})
for (var i = 1; i <= countP; i++) {
$("#walker option[value=" + i + "]").remove();
var j = i + 1;
$('#walker').append(new Option('walker' + i, i));
var walk = "#walker";
var formhtml =
"<div id=walker" + i + " style='display:none'>First Name:<input type='text' name='wname" + i + "' id='wname" + i + "'>Last Name:<input type='text' name='lname' id='lname'></div>";
//generate waler if not exist
if ($(walk + i).length == 0) {
$('#form_div').append(formhtml);
}
//display walker
$("#walker").change(function () {
var numwalker = parseInt($("select#walker option:selected").val());
$('#walker' + numwalker).css('display', 'block');
})
}
})
});
</script>
<select name="num-people" id="num-people">
<option name="1">1</option>
<option name="2">2</option>
<option name="3">3</option>
<option name="4">4</option>
<option name="5">5</option>
<option name="6">6</option>
</select>
<select name="walker" id="walker">
<option value="">Select Walker</option>
</select>
<div id="form_div">
</div>
変数にスペースを含むhtmlを使用するとエラーが表示され、管理するフィールドがたくさんあるので、div idなどに可変値を動的に保持する方法..(phpコードを使用するか、jqueryを使用しますが、htmlを生成する方法が異なります)
var formhtml=
"<div id=walker"+i+" style='display:none'>
First Name:<input type='text' name='wname"+i+"' id='wname"+i+"'>
Last Name:<input type='text' name='lname' id='lname'>
</div>";