javascript - 如何使用javascript onclick创建表单元素输入框,标签

标签 javascript jquery

我想知道如何通过 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 自动完成获取上面的输入框值,用户将单击选择框,然后我要做的是,我必须在输入框下方添加列出所选手机的数量,如

<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 对此进行编码。

最佳答案

function addprotolist() {
  var str = '<label>'+ var_for_text +'</label><input type="hidden" value="'+ var_for_value +'" name="pro_id[]">';
  $('#yourform').append( str );
}

注意事项

如果您想使用循环追加多个inputlabel 等,请不要在循环内调用append,这会降低性能。像上面那样制作一个字符串,最后在循环外调用 .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 );
}

但是这样使用标签就没有意义了。您必须通过包装或指定指向输入的 idfor 属性将其连接到您的 input:

<!-- Simple label example with for attribute -->  
<input type="radio" name="clickmebutton" id="clickmebutton">
<label for="clickmebutton">Click me</label>  

<!-- or more simply -->  
<label><input type="radio" name="clickmebutton"> Click me</label>  

来自 label on MDN

关于javascript - 如何使用javascript onclick创建表单元素输入框,标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11258676/

相关文章:

javascript - 未在无序列表中显示 json 解析的数据

javascript - 如何防止 Bootstrap 轮播在单击右/左控件后恢复幻灯片动画

javascript - 在 Javascript/JQuery 中对数组进行排序

javascript - 多行字符串、无效或意外的标记

javascript - jquery find 在选择框中禁用

javascript - knockout 计算绑定(bind)不更新模板名称

javascript - 带有纯 CSS 内容的具有初始自动高度的文本区域

javascript - RequireJS jQuery 插件 shim 不起作用?

javascript - $(opener.document).find ('.target' ).css ('display' ) 无法在资源管理器中工作

javascript - "Tab"移动网络应用程序菜单栏快速切换