根据数据库列中的值显示输入字段的数量

时间:2016-11-25 05:54:32

标签: javascript php

我有一个列名为qty的数据库表,其中包含int。现在我想显示与qty中的值一样多的输入字段。 到目前为止,我已经尝试使用iavascript代码。这是我的javascript代码。

$(function() {

  var input = $(<input 'type'="text" />);
  var newFields = $('');

  $('#qty').bind('blur keyup change', function() {
    var n = this.value || 0;
    if (n+1) {
      if (n > newFields.length) {
        addFields(n);
      } else {
        removeFields(n);
      }
    }
  });

  function addFields(n) {
    for (i = newFields.length; i < n; i++) {
      var newInput = input.clone();
      newFields = newFields.add(newInput);
      newInput.appendTo('#newFields');
    }
  }

  function removeFields(n) {
    var removeField = newFields.slice(n).remove();
    newFields = newFields.not(removeField);
  } 
});

3 个答案:

答案 0 :(得分:1)

只需将值存储在文本字段中(隐藏) 的 HTML:

<input type="hidden" id="quantitycount" value="4" />
<div class="textboxarea"></div>

<强> Jquery的: 获取文本框值

var quantitycount=jQuery('#quantitycount').val();
var txthtml='';
for(var txtcount=0;txtcount<quantitycount;txtcount++){
 txthtml+='<input type="text" id="txtbox[]" value="" />';
}
jQuery('.textboxarea').html(txthtml);

您可以使用入口控制循环循环次数

现在我们可以根据需要看到文本框的数量,只是来自db的值并将其存储在文本框中

答案 1 :(得分:0)

你可以试试这个

foreach($qty as $qt){
    echo '<input type="text">';
}

答案 2 :(得分:0)

要附加文本字段,您需要在html表单上使用包装器

使用@Rajesh提到的一些包装器:并将你的文本字段附加到该包装器,如下所示

$('#qty').bind('blur keyup change', function() {
        var n = this.value || 0;

          if (n >0) {
           for(var x=0;x<n;x++){
            $('#textboxarea').append('<input type="text" name="mytext[]"/>');
          } 
      });

类似地,您可以使用jquery

编写自己的逻辑来删除文本字段