<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();
と、何も印刷されず、スペースが割り当てられます。では、機能を完全に機能させるには、どのような変更を加える必要がありますか?