テキストボックスに別の値を入力した後、テキストボックスの数を1回だけ表示します

Hiruni
<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();メソッドを使用しない場合に指定されたテキストボックスの数が完全に出力されますしかし、ポップアップテキストボックスに別の値を再入力すると、前のテキストボックスのセットを空にすることなくテキストボックスが印刷されます。そして、私が印刷する場合、$('#BtnSet').empty();それはスペースを割り当てるだけで何も印刷しません。では、関数を完全に機能させるために私がすべき変更は何ですか?

dc5

問題の一部はこのロジックにあります:

  • 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

テキストボックスに別の値を入力した後、テキストボックスの数を1回だけ表示します

分類Dev

1つのテキストボックスに数値を入力し、別のテキストボックスに出力として単語を取得します

分類Dev

入力値を取得して、別のテキストボックスに値として表示します

分類Dev

別のテキストボックスの入力番号に基づいて、テキストボックスの正しい数を表示する

分類Dev

データベースの別のテキストボックスに基づいてテキストボックスの値を入力します

分類Dev

Angular2-テキストボックスに入力した値の削除/キャンセルテキストを表示し、テキストの削除/キャンセルをクリックして入力フィールドをクリアします

分類Dev

テキストボックスに入力された数値の10%を計算し、その結果をphpとhtmlの別のテキストボックスに即座に表示するにはどうすればよいですか。

分類Dev

テキストボックスからの入力を組み合わせて、別のテキストボックスに自動入力します

分類Dev

C#2番目のテキストボックスに数値を入力する方法。ボタンをクリックするたびに、最初のテキストボックスに表示され続けます

分類Dev

入力テキストボックスの値をangularjsに送信するには、テキストボックスをクリックしますか?

分類Dev

jQueryはクリック後に入力ボタンの値の属性テキストを変更します

分類Dev

JSPの入力ボタンをクリックしてHTML入力テキストボックスにJava変数値を表示する方法

分類Dev

1つ以上のテキストボックスにajaxからのjson戻り値を入力します

分類Dev

テキストボックスに入力された値に基づいてJavaScriptを使用して複数のテキストボックスを開く

分類Dev

angularjs:テキストボックスに数値のみを入力できるようにします

分類Dev

ボタンを1回クリックするだけで、テキストボックスの値とdxDatagridの選択したすべての値をデータベースに挿入するにはどうすればよいですか?

分類Dev

複数の選択ボックスでクリックした後の入力テキストの表示/非表示

分類Dev

テキストボックスの入力を別のテキストボックスに自動的にコピーします

分類Dev

検証:1つの特定の単語を1回だけ許可すると、VBAExcelのテキストボックスに入力できます

分類Dev

チェックボックスの値を取得し、テキスト入力に追加します

分類Dev

近くの入力テキストボックスに値を表示する方法

分類Dev

複数行のテキストボックスから空白行を削除し、配列にテキストボックス要素を入力します

分類Dev

送信ボタンをクリックした後、h1を入力ボックス内のテキストユーザー入力に変更したい

分類Dev

vuejsのチェックボックスの値に入力テキストを追加します

分類Dev

anglejsで別のモデルからの入力テキストボックス値を設定します

分類Dev

入力したすべての番号をテキストボックスに合計し、無効なボックスに表示します

分類Dev

制限された数値入力に対してテキストボックスを検証します

分類Dev

テキストボックスを1回だけ追加する

分類Dev

jQuery別のテキストボックスにオートコンプリートを入力します

Related 関連記事

  1. 1

    テキストボックスに別の値を入力した後、テキストボックスの数を1回だけ表示します

  2. 2

    1つのテキストボックスに数値を入力し、別のテキストボックスに出力として単語を取得します

  3. 3

    入力値を取得して、別のテキストボックスに値として表示します

  4. 4

    別のテキストボックスの入力番号に基づいて、テキストボックスの正しい数を表示する

  5. 5

    データベースの別のテキストボックスに基づいてテキストボックスの値を入力します

  6. 6

    Angular2-テキストボックスに入力した値の削除/キャンセルテキストを表示し、テキストの削除/キャンセルをクリックして入力フィールドをクリアします

  7. 7

    テキストボックスに入力された数値の10%を計算し、その結果をphpとhtmlの別のテキストボックスに即座に表示するにはどうすればよいですか。

  8. 8

    テキストボックスからの入力を組み合わせて、別のテキストボックスに自動入力します

  9. 9

    C#2番目のテキストボックスに数値を入力する方法。ボタンをクリックするたびに、最初のテキストボックスに表示され続けます

  10. 10

    入力テキストボックスの値をangularjsに送信するには、テキストボックスをクリックしますか?

  11. 11

    jQueryはクリック後に入力ボタンの値の属性テキストを変更します

  12. 12

    JSPの入力ボタンをクリックしてHTML入力テキストボックスにJava変数値を表示する方法

  13. 13

    1つ以上のテキストボックスにajaxからのjson戻り値を入力します

  14. 14

    テキストボックスに入力された値に基づいてJavaScriptを使用して複数のテキストボックスを開く

  15. 15

    angularjs:テキストボックスに数値のみを入力できるようにします

  16. 16

    ボタンを1回クリックするだけで、テキストボックスの値とdxDatagridの選択したすべての値をデータベースに挿入するにはどうすればよいですか?

  17. 17

    複数の選択ボックスでクリックした後の入力テキストの表示/非表示

  18. 18

    テキストボックスの入力を別のテキストボックスに自動的にコピーします

  19. 19

    検証:1つの特定の単語を1回だけ許可すると、VBAExcelのテキストボックスに入力できます

  20. 20

    チェックボックスの値を取得し、テキスト入力に追加します

  21. 21

    近くの入力テキストボックスに値を表示する方法

  22. 22

    複数行のテキストボックスから空白行を削除し、配列にテキストボックス要素を入力します

  23. 23

    送信ボタンをクリックした後、h1を入力ボックス内のテキストユーザー入力に変更したい

  24. 24

    vuejsのチェックボックスの値に入力テキストを追加します

  25. 25

    anglejsで別のモデルからの入力テキストボックス値を設定します

  26. 26

    入力したすべての番号をテキストボックスに合計し、無効なボックスに表示します

  27. 27

    制限された数値入力に対してテキストボックスを検証します

  28. 28

    テキストボックスを1回だけ追加する

  29. 29

    jQuery別のテキストボックスにオートコンプリートを入力します

ホットタグ

アーカイブ