我想知道如何通过onclick函数使用javascript创建隐藏类型输入框和标签。
$().ready(function() {
$("#product").autocomplete("get_completeproducts", {
width: 406,
matchContains: true,
selectFirst: false
});
});
<input type="text" value="" name="product" id="product" size="50">
<input type="button" value="Add to List" onclick="addprotolist()" name="select_pro">
我通过ajax自动完成得到上面的输入框值,用户将点击选择框,然后我要做的是,我必须添加列表他们所选择的手机数量在输入框下面像< / p>
<label>Samsung Galaxy Y<label><input type="hidden" value="778" name="pro_id[]">
<label>Samsung Galaxy Y Duos<label><input type="hidden" value="788" name="pro_id[]">
<label>Samsung Galaxy Y Plus<label><input type="hidden" value="728" name="pro_id[]">
.
.
.
<input type="submit" name="save" value="Save your list">
任何人都可以提供我如何使用javascript或jquery进行编码。
答案 0 :(得分:4)
function addprotolist() {
var str = '<label>'+ var_for_text +'</label><input type="hidden" value="'+ var_for_value +'" name="pro_id[]">';
$('#yourform').append( str );
}
如果您想使用循环追加多个input
,label
等,请不要在循环内调用追加,否则会降低性能。创建一个像上面这样的字符串,并最后调出.append()
。
例如
var str = '';
function addprotolist(inputObj) {
// a typical example of inputObj may be
// inputObj = [ {labelText: 'some 1', value: 'val1' }, {labelText: 'some 2', value: 'val2'} ]
// loop
for(var i = 0; i < inputObj.length; i++ ) {
str += '<label>'+ inputObj[i].labelText +'</label><input type="hidden" value="'+ inputObj[i].value +'" name="pro_id[]">';
}
// call append outside of loop
$('#yourform').append( str );
}
但是这样使用label
并没有多大意义。您必须通过打包或指定指向输入input
的{{1}}属性将其连接到for
:
id