繁体   English   中英

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

[英]How to create form elements input box , label using javascript onclick

我想知道如何通过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 );
}

但是这样使用label并没有多大意义。 您必须通过包装它或通过指定指向输入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>  

来自MDN上的label

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM