我正在构建一个表单,我将它放在用户可以从表单中添加或删除最多三辆汽车的地方。他们可以在其中为每辆车选择一年的品牌和型号。但是,当您选择三辆汽车然后将其更改为两辆汽车时,如果您在从三辆更改为两辆之前已经定义了第二辆汽车,则会重置第二辆汽车。理论上它不应该。它应该只移除第三辆车。
我知道一定有我遗漏或做错的事情。我很确定这与创建/移除额外车辆的方式有关。但我不太确定。
var total = $(this).val();
//remove all
$('.vehicleData').each(function(index)
{
if (index !== 0) $(this).remove();
});
//create new ones
for (var i = 2; i <= total; i++)
{
var vehicleTmp =
"<tr class='vehicleData'>" +
"<td colspan='5'>" +
"<div class='vehicle'>" +
"<label>Vehicle " + i +": </label>" +
"Year: " +
"<select name='year" + i + "' class='year' id='year" + i + "' size='1'>" +
"<option selected='selected' value=''>-- All Years --</option>" +
"</select> " +
"Make: " +
"<select name='make" + i + "' class='make' id='make" + i + "' size='1'>" +
"<option value=''>-- All Makes --</option>" +
"</select> " +
"Model: " +
"<select name='model" + i + "' class='model' id='model" + i + "' size='1'>" +
"<option value=''>-- All Models --</option>" +
"</select> " +
"</div>" +
"</td> " +
"</tr>";
$('.vehicleTable').append(vehicleTmp);
由于缺少与我的 php 文件的连接,它在 JS Fiddle 中有点难以分辨。但是,如果您使用 firebug 来观看控制台中的帖子,它会在您每次在二到三之间切换时调用它们。我希望这一切都足够清楚。
http://jsfiddle.net/empire_eldest/gVgLP/5/
是否有什么我遗漏或做错的事情会导致在更改金额时不会重置已经存在的车辆?任何输入将不胜感激。谢谢!
*注意我知道代码有点乱。我没有机会很好地清理它