0
사용자가 값 쌍을 입력합니다. 마지막 세트를 복제하고 ID 번호를 다시 매겨야합니다. 아래 함수는 실행되지만 새 div는 표시되지 않습니다. 나는 잡초에서 어딘가에있어 ... 도와 줘서 고마워!clone() 작동하지 않음 (나를 위해)
$('#addparm').click(function (event) {
event.preventDefault();
var maxSeq = $('#maxseq').attr("seq");
var lastDiv = $('#pct[' + maxSeq + ']').parent();
$('#maxseq').attr("seq", ++maxSeq);
var newDiv = $(lastDiv).clone(true);
$(lastDiv).after(newDiv);
$(newDiv).fadeIn('slow');
});
여기에 HTML의 :
...
<div id="bkp[8]">
<input seq="8" id="pct[8]" name="pct" type="text" value="0.28" />
<input seq="8" id="amt[8]" name="amt" type="text" value="43.2" />
<input seq="8" id="use[8]" name="use" type="hidden" value="yes" />
</div>
<div id="bkp[9]">
<input seq="9" id="pct[9]" name="pct" type="text" value="0.31" />
<input seq="9" id="amt[9]" name="amt" type="text" value="41.4" />
<input seq="9" id="use[9]" name="use" type="hidden" value="yes" />
</div>
<input type="hidden" id="maxseq" seq="9" />
<a id="addparm" href="javascript:void(0)">Add</a>
사실입니다. 증명 : http://jsfiddle.net/C2R8D/ 대괄호를 제거하기 위해 해당 요소의 ID를 변경하고 jQuery 선택기에서 동일한 변경을가했습니다. – weir
다음은 ** 귀하의 ID를 그대로 유지할 수 있다는 증거입니다. jQuery selector.http : //jsfiddle.net/8REPj/에서 두 개의 백 슬래시로 대괄호를 이스케이프 처리하면됩니다. 그러나 @JAAulde는 HTML4 사양에서 올바른 ID가 아니므로 ID를 변경하는 것이 좋습니다. 체재. – weir
예, 이스케이프 처리 된 선택기를 사용하면 선택자에서 일부 항목을 더 잘 사용할 수 있습니다. 구문과 방법론, IMO를 조정하는 것이 좋습니다. – JAAulde