在文本框中输入另一个值后,只显示一次文本框的数量

弘尼
<html>
<title>
</title>
<head>
<link rel="stylesheet" href="new_2.css"  type="text/css"/>
<script src="jquery-1.10.2.min.js"></script>
<script>
function AddingTextBoxes() {
    var NumOfText = $("#NumOfTextBoxes").val();
    $('#NewlyCreatedSelectBoxes').empty();
    for (i = 1; i <= NumOfText; i++) {
    var ipBoxName = "MyInput" + i;
    var $div = $('<div/>').addClass('row jsRow');

    $('<input/>').attr('type', 'text')
                 .attr('name', 'textbx[]')
                 .attr('id',   'TxtBx_' + i)
                 .attr('value', i)
                 .addClass('txtbx')
                 .appendTo($div);

    $('<input/>').attr('type', 'text')
                 .attr('name', 'textbx[]')
                 .addClass('txtbx2')
                 .appendTo($div);

    $('<select/>').attr('id', 'SelectOption_' + i)
                  .append( $('<option/>').text('Text_Box') )
                  .append( $('<option/>').text('Text_Area') )
                  .append( $('<option/>').text('Radio_Button') )
                  .addClass('selectbx')
                  .appendTo($div);

    $('<button/>').attr('id', 'Child_Btn_' + i)
                  .attr('value', 'B')
                  .text('Click for child selections')
                  .on('click', ChildTxtBoxes)
                  .appendTo($div);

    $('<div/>').addClass('BtnSet').appendTo($div);

    $div.appendTo($('#NewlyCreatedSelectBoxes'));

}
return false;
}

function ChildTxtBoxes() {
    var $this   = $(this);
    var $BtnSet = $this.closest('div').find('.BtnSet');
    var idBase  = 'TxtID_' + $this.attr('id').split('_').slice(-1) + '_';

    var retVal = prompt("Enter the number of textboxes need to add");

    console.log($BtnSet);
$BtnSet.empty();
for (i = 1; i <= retVal; i++) {
    $('<input/>').attr('id', idBase + i)
                 .attr('type', 'text')
                 .attr('name', 'textbx[]')
                 .appendTo($('<div/>').appendTo($BtnSet));
}
alert("AAAAAAAAAAAAAAA");
}



</script>
</head>
<body>
<form >
<div id="PHPForms" >
<!--Designing PHP forms dynamically-->
<label>Form Heading</label><input type="text"/><br><br>
<input id="NumOfTextBoxes" type="text" value="0"></input>
<button id="addem" onclick="return AddingTextBoxes()">Add Textboxes</button>

<div id="NewlyCreatedSelectBoxes">

</div>

<div id='BtnSet'></div></div>
</form>
</body>
</html>

在此示例中,一旦我click单击“单击以选择子项”按钮,它就会完美打印出我不使用$('#BtnSet').empty();method时得到的文本框数量但是,一旦我在弹出文本框中重新输入了另一个值,它就会打印文本框,而不会清空上一组文本框。如果我使用打印,$('#BtnSet').empty();它将分配任何空间,但不会打印任何内容。那么,为了使功能完美地工作,我应该做哪些更改?

直流5

问题的部分原因在于此逻辑:

  • 您在ID中缺少结尾的“'”
  • id ='BtnSet'的多个元素将添加到文档中。
  • 您正在清除,#BtnSet<br>元素仍将保留

您可以通过将每一行包装在一个包含元素中,并在元素上使用其他标记(而不只是ID)进行选择,从而进行大量清理。

我也建议删除所有&nbsp;<br>是你正在使用的定位和使用CSS来代替。

我相信此更新代码将完成您想做的事情,而不会过多更改原始标记和代码:

Demo Fiddle

function AddingTextBoxes() {
    var NumOfText = $("#NumOfTextBoxes").val();
    $('#NewlyCreatedSelectBoxes').empty();
    for (i = 1; i <= NumOfText; i++) {
        var ipBoxName = "MyInput" + i;

        // Wrap your row in a containing div with a class of 'jsRow'
        var $div = $('<div/>').addClass('jsRow');
        var txtBoxAutoNumbering = "<input type='text' name='textbx[]' id='TxtBx" + i + "'     style='width:50px;' value=" + i + " />&nbsp;&nbsp;&nbsp;";
        $div.append(txtBoxAutoNumbering);
        var txtBox = "<input type='text' name='textbx[]'/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
        $div.append(txtBox);

        var Select_SelectionOptions = "<select id='SelectOption'><option>Text_Box</option><option>Text_Area</option><option>Radio_Button</option></select>&nbsp;&nbsp;&nbsp;";
        $div.append(Select_SelectionOptions);

        var Select_For_Multiple_Choices = "<button type='button' onclick='ChildTxtBoxes(this)' id='Child_Btn" + i + "' value='B'>Click for child selections</button><br>";
        $div.append(Select_For_Multiple_Choices);
        $div.appendTo($('#NewlyCreatedSelectBoxes'));
    }
    return false;
}

function ChildTxtBoxes(item) {
    // Use nextUntil to remove any divs with class `BtnSet` after it
    $(item).nextUntil('.jsRow').remove();
    var retVal = prompt("Enter the number of textboxes need to add");

    for (i = 1; i <= retVal; i++) {
        $(item).after("<div class='BtnSet' i><input id='TxtID" + i + "' type='text' name='textbx[]'/></div>");
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据另一个文本框中的输入数字显示正确的文本框数量

来自分类Dev

用户在文本框中插入值后如何显示另一个文本框?

来自分类Dev

根据在另一个文本框中输入的文本在文本框中显示文本

来自分类Dev

在另一个文本框中输入数据时文本框完成

来自分类Dev

抓取输入值并将其显示为另一个文本框中的值

来自分类Dev

从angularjs中的另一个模型设置输入文本框值

来自分类Dev

角度-在另一个组件的输入文本框中设置值

来自分类Dev

从angularjs中的另一个模型设置输入文本框值

来自分类Dev

合并来自文本框的输入以自动填充另一个文本框

来自分类Dev

禁用文本框,取决于另一个文本框的值

来自分类Dev

文本框的onchange文本显示在另一个文本框上

来自分类Dev

多个文本框值添加输出不只显示最后一个文本框值

来自分类Dev

如何计算在文本框中输入的数字的 10% 并立即在 php 和 html 中的另一个文本框中显示结果

来自分类Dev

无法将文本框值分配给jQuery中的另一个文本框

来自分类Dev

根据数据库中的另一个文本框填充文本框值

来自分类Dev

如何在另一个文本框中同时写入文本框值?

来自分类Dev

如何根据另一个文本框值在jdeveleper的表中设置文本框只读?

来自分类Dev

输入事件后将光标移动到另一个文本框-VBA

来自分类Dev

输入事件后将光标移动到另一个文本框-VBA

来自分类Dev

在一个文本框中输入数字,在另一个文本框中输入单词作为输出

来自分类Dev

两个日期的差异显示在另一个文本框中

来自分类Dev

如何将值从输入文本框传递到Laravel中的另一个页面

来自分类Dev

无法传递文本框中的值以在另一个HTML页面中显示它

来自分类Dev

无法传递文本框中的值以在另一个HTML页面中显示它

来自分类Dev

自动将文本框的输入复制到另一个文本框

来自分类Dev

如何根据另一个文本框的值自动设置文本框的值

来自分类Dev

通过VBA更新另一个表单的文本框中的值

来自分类Dev

根据另一个文本框MVC 4填充文本框

来自分类Dev

javascript-添加另一个文本框时,动态创建的文本框的值消失

Related 相关文章

  1. 1

    根据另一个文本框中的输入数字显示正确的文本框数量

  2. 2

    用户在文本框中插入值后如何显示另一个文本框?

  3. 3

    根据在另一个文本框中输入的文本在文本框中显示文本

  4. 4

    在另一个文本框中输入数据时文本框完成

  5. 5

    抓取输入值并将其显示为另一个文本框中的值

  6. 6

    从angularjs中的另一个模型设置输入文本框值

  7. 7

    角度-在另一个组件的输入文本框中设置值

  8. 8

    从angularjs中的另一个模型设置输入文本框值

  9. 9

    合并来自文本框的输入以自动填充另一个文本框

  10. 10

    禁用文本框,取决于另一个文本框的值

  11. 11

    文本框的onchange文本显示在另一个文本框上

  12. 12

    多个文本框值添加输出不只显示最后一个文本框值

  13. 13

    如何计算在文本框中输入的数字的 10% 并立即在 php 和 html 中的另一个文本框中显示结果

  14. 14

    无法将文本框值分配给jQuery中的另一个文本框

  15. 15

    根据数据库中的另一个文本框填充文本框值

  16. 16

    如何在另一个文本框中同时写入文本框值?

  17. 17

    如何根据另一个文本框值在jdeveleper的表中设置文本框只读?

  18. 18

    输入事件后将光标移动到另一个文本框-VBA

  19. 19

    输入事件后将光标移动到另一个文本框-VBA

  20. 20

    在一个文本框中输入数字,在另一个文本框中输入单词作为输出

  21. 21

    两个日期的差异显示在另一个文本框中

  22. 22

    如何将值从输入文本框传递到Laravel中的另一个页面

  23. 23

    无法传递文本框中的值以在另一个HTML页面中显示它

  24. 24

    无法传递文本框中的值以在另一个HTML页面中显示它

  25. 25

    自动将文本框的输入复制到另一个文本框

  26. 26

    如何根据另一个文本框的值自动设置文本框的值

  27. 27

    通过VBA更新另一个表单的文本框中的值

  28. 28

    根据另一个文本框MVC 4填充文本框

  29. 29

    javascript-添加另一个文本框时,动态创建的文本框的值消失

热门标签

归档