私はこの分野の初心者です。HTML ページを作成し、いくつかの「+」/「-」ボタンをクリックすると、Multiple.js ファイルからそれぞれ add() と remove() を呼び出して、HTML ページからコード ブロックを追加または削除します。しかし、私は予期しない結果を得ています。ファイルは次のとおりです。 Multiple Group Selection.html
<!DOCTYPE HTML >
<HTML>
<HEAD>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<link rel="stylesheet" href="style.css">
<TITLE>Multiple Group Selections</TITLE>
<script src="Multiple.js" type="text/javascript"></script>
</HEAD>
<BODY BGCOLOR="#FDF5E6">
<H2 ALIGN="CENTER">Multiple Group Selections</H2>
<div id="clonedInput1" class="clonedInput">
<FIELDSET class="field">
<LEGEND ALIGN="RIGHT">
<button type="button" class = "clone" onclick={add();} >+</button>
<button type="button" class = "remove" onclick={remove();}>-</button>
</LEGEND>
Field 2A: <INPUT TYPE="TEXT" NAME="field2A" VALUE="Field A"><BR>
Field 2B: <INPUT TYPE="TEXT" NAME="field2B" VALUE="Field B"><BR>
Field 2C: <INPUT TYPE="TEXT" NAME="field2C" VALUE="Field C"><BR>
</FIELDSET>
</div>
</BODY>
</HTML>
Multiple.js:
function add(){
var regex = /^(.*)(\d)+$/i;
var cloneIndex = $(".clonedInput").length;
$("button.clone").live("click", function(){
$(this).parents(".clonedInput").clone()
.appendTo("body")
.attr("id", "clonedInput" + cloneIndex)
.find("*").each(function() {
var id = this.id || "";
var match = id.match(regex) || [];
if (match.length == 3) {
this.id = match[1] + (cloneIndex);
}
});
cloneIndex++;
});
}
function remove(){
$("button.remove").live("click", function(){
$(this).parents(".clonedInput").remove();
});
}
スタイル.css
.clone {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #00ffff;
Background-COLOR: white;
border: black;
border-style: solid;
border-width: 1px;
}
.remove{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #00ffff;
Background-COLOR: white;
border: black;
border-style: solid;
border-width: 1px;
}
私が欲しいのは、「+」ボタンをクリックするだけで、に追加する必要があります。「-」ボタンをクリックすると、それも削除されます。私を助けてください。私は疲れ果てています。