jQueryとJSの両方に関する私の非常に限られた知識で、ボタンをクリックするとtablerowを複製する小さなスクリプト(Nicola Peluchettiの助けを借りて)を作った。これは魅力のように動作しますが、私はそれにdatepickerを追加したいと思います。これもうまくいきますが、コピーされたフィールドやその逆では一度だけです。おそらく、日付ピッカーがただ1つのフィールドしかないと「考える」ためです。jQueryクローンtablerowとdatepickerを追加
私はこの問題を解決するためにいくつかの情報源を見つけましたが、やはり初心者の知識では難しいことです。私はこれで約2日間遊んでおり、解決することはできません。私は得ることはありません
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$("input[type='button'].AddRow").click(
function() {
var index = $(this).closest('tr').index();
if (index > 0) {
$(this).closest('tr').remove();
} else {
$(this).closest('tr').clone(true).prependTo($(this).closest('table'));
$(this).val(i++);
/* $('.startdatum').removeClass('hasDatepicker').datepicker({dateFormat: 'mm-dd-yy'}); */
}
});
});//]]>
</script>
HTML
<table width="960" border="0" align="center" cellpadding="10" cellspacing="0" class="contentblock">
<tr>
<td width="140"><strong>Startdatum</strong></td>
<td><input name="startdatum[]" type="text" class="startdatum" value="dd/mm/jjjj" />
<script>
$(function() {
$('.startdatum').removeClass('hasDatepicker').datepicker({
dateFormat: 'mm-dd-yy'
});
});
</script>
<select name="locatie[]" id="locatie[]">
<option value="" selected></option>
</select></td>
<td width="143"><strong>Dekking</strong></td>
<td width="133"><select name="dekking[]" id="dekking[]">
<option value="" selected></option>
</select></td>
<td width="145"><input type="Button" value="Add Row" class="AddRow"></td>
</tr>
</table>
可能な解決策:
- http://www.stemkoski.com/problem-with-jquery-ui-datepicker-dynamic-dom/
- duplicating jQuery datepicker
- Dynamic JQuery date picker code
Datepickerplugin:
は、誰も私を助けてくださいもらえますか?
おかげニコラ起こります!もう1つの質問と私はあなたを盗むのを止めることを約束します;)新しい行が最初の行の下に追加されました。これをテーブルの最下部に追加することも可能ですか? – mat
@mat私は私の答えを編集 –
非常にうまく、すべての仕事のために多くのおかげで動作します!私が自分自身を把握しようとしていることの1つは、最初の行に[追加]ボタンの代わりに削除ボタンを追加する方法です。これはあなたの元のスクリプトにあった:$(this).val( "DelRow"); – mat