我有一个Web表单,我使用JQuery来提取用户输入的值,并在屏幕上显示它们,并添加一个额外的字符串。问题是只显示了两个值。当我查看调试器时,我可以看到变量已填充但它们没有显示在屏幕上。
我的网络表单:
<form method="POST" id="sas_form" action="#">
<select name="var_type" id="var_type">
<option value="1">1</option>
</select>
<input type="text" name="name" id="name">
<input type="text" name="value" value="0" id="value">
<input type="text" name="something" id="something">
<a href="#" id="add-row">Add Another row</a>
<div id="renderArea"></div>
</form>
我的Javascript:
$(document).ready(function() {
var i = 0;
$('#add-row').click(function() {
var var_type = $('#var_type').val();
var name = $('#name').val();
var value = $('#value').val();
var something = $('#something').val();
$('#renderArea').append({'-Var VarType="'+var_type+'" Position="'+i+'"
Name="'+ name +'"><Imputed Value>' + value + '</Imputed Value>
Something = ' + something});
// increment the position
i += 1;
})
});
答案 0 :(得分:1)
您需要将.append()
语句更改为:
var html = '-Var VarType="' + var_type + '" Position="' + i +
'" Name="' + name + '"><Imputed Value>' + value + '</ImputedValue>' +
'Something = ' + something;
$('#renderArea').append(html);
注意 - <Imputed Value></Imputed Value>
不是有效的XML。标签名称中没有空格。因为你把它输出为HTML - 这可能很重要。
您的问题可能与您将.append()
参数放在{}
内的事实有关 - 这是不必要的。