Basic 基本
HTML
<ol id="list1"> <li class="list1_var"> <input type="text" size="40" name="list1_0" id="list1_0"> <button class="list1_del">Delete</button> </li> </ol> <input type="button" value="Add" class="list1_add">
JavaScript
$('#list1').addInputArea();
You can save time and effort by following naming convention.
増減させる対象のエリア、追加ボタン、削除ボタンのCSSクラス名は、
命名規則に従うことでプラグインに渡すオプションの数を減らすことができます。
Options オプション
HTML
<ol id="list2"> <li class="var_area02"> <label for="posts_0_mail" id_format="posts_%d_mail" >Mail</label> <textarea id="posts_0_mail" id_format="posts_%d_mail" name="data[posts][mail][0]" name_format="data[posts][mail][%d]" ></textarea> <button class="del_button02">Delete</button> </li> </ol> <input type="button" value="Add" class="add_button02"><br>
JavaScript
$('#list2').addInputArea({ area_var: '.var_area02', btn_add: '.add_button02', btn_del: '.del_button02' });
You can set options for plug-in.
Please look at "README" for details.
プラグインにはオプションを渡すことができます。
The ornament by CSS and images CSSや画像による装飾
HTML
<ul id="list3"> <li class="list3_var"> <input type="text" size="40" name="list3_0"> <img class="list3_del" src="demo/img_del.png"> </li> </ul> <!-- Twitter Bootstrap --> <a href="javascript:void(0)" class="list3_add btn btn-danger">Add</a><br>
JavaScript
$('#list3').addInputArea();
You can decorate add-button and delete-button with CSS or images.
追加ボタン、削除ボタンはCSSや画像で装飾できます。
The list which contains some input areas 複数の入力欄を包含する増減エリア
HTML
<table id="list4" class="table">
<thead>
<tr><th>Name</th><th>Mail</th><th></th></tr>
</thead>
<tbody>
<tr class="list4_var">
<td><input type="text" name="list4_name_0"></td>
<td><input type="text" name="list4_mail_0"></td>
<td class="del_area04"><button class="list4_del">Delete</button></td>
</tr>
</tbody>
</table>
JavaScript
$('#list4').addInputArea({
area_del: '.del_area04'
});
The list can be fluctuated even if how many input-area were contained.
複数の入力欄を扱う場合も、特にオプションを必要としません。
Maximum number 追加に上限を設ける
You can set the maximum number of textbox.
追加できるテキストボックスの数に上限を設けることができます。
JavaScript
$('#list5').addInputArea({ maximum : 4 });
All Form elements 全てのフォーム部品に対応
You can add or delete all of Form elements.
テキストボックスだけでなく、すべてのフォーム部品を増減できるようになりました。
type | element |
---|---|
no-type | |
text | |
textarea | |
radio | |
checkbox | |
select | |
hidden | |
search | |
tel | |
url | |
password | |
datetime | |
date | |
month | |
week | |
time | |
datetime-local | |
number | |
range | |
color | |
file | |
submit | |
image | |
reset | |
button | |
button_tag |
Do not format value値を初期化させない設定
You can prevent initialization.
Please click "Add" button.
入力欄を増やす際、初期化を阻止することができます。
However, the following elements and types will certainly be initialized.
ただし、以下の要素、タイプは、必ず初期化されてしまいます。
textarea, select, file, color
HTML
<li class="list7_var"> <input type="text" size="40" name="list7_a_0" value="will be initialized."><br> <input type="text" size="40" name="list7_b_0" value="will NOT be initialized." empty_val="false"><br> <button class="list7_del">Delete</button> </li>
JavaScript
$('#list7').addInputArea();
Initialize correctly 正しい初期化
(v4.2 or later) The added item can be correctly initialized.
(v4.2以降) 追加された要素の初期化が、より正確に行われるようになりました。
HTML
<li class="list8_var"> <select name="list8_mask_0"> <option value="able">able</option> <option value="disable">disable</option> </select> <input type="text" size="30" name="list8_text_0"> <button class="list8_del">Delete</button> </li>
JavaScript
$('#list8').addInputArea(); $('#list8').on('change', 'select', function() { var input = $(this).parents('li').find('[type="text"]'); if ($(this).val() == 'disable') { $(input).attr('disabled', 'disabled'); } else { else $(input).removeAttr('disabled'); } });
Make a copy of event イベントのコピー
(v4.3 or later)
The event at each Form elements can be correctly copied.
But, you should set events before applying plugin.
(v4.3 以降)
フォーム部品に対して設定したイベントもコピーされます。
ただし、クローン元へのイベントは、プラグイン適用前に
設定しておかなければなりません。
JavaScript
// Set events before applying plugin.
$('#list9_0')
.focus(function() { $(this).next().text('Focus!') })
.blur(function() { $(this).next().text('Blur!') });
$('#list9').addInputArea();
The function which executes after adding 追加後に実行される処理を設定する
(v4.6 or later)
The event at each Form elements can be correctly copied.
But it is uncertain in the case of the event which made in other jQuery plugin.
You can reset other jQuery plugin to added item by this option.
(v4.6 以降)
初期状態でも通常イベントならばクローン先にもコピーされますが、他のjQueryプラグインなどを利用した複雑なイベントはコピーされないことがあります。
その場合はこのオプションの中でjQueryプラグインを適用し直してください。
JavaScript
$('#list10').addInputArea({
after_add: function () {
alert('Added!');
}
});