私は選択タグで新しいdivを追加するボタンを持っていますが、 すべてのオプションにはカスタムattributesがあります。私の問題は、関数がいくつかのdivを作成するときに、関数が応答しない最初のselectタグを変更しようとしているときに作成した最後のdivのみを参照することです。
私はすべてのdivと入力に別のIDを与えようとしましたが、それは動作しません。
<button type="button" class="cam_field_button btn waves-effect waves-light btn-outline-info" >הוסף צלם</button>
var max_fields = 25; //maximum input boxes allowed
var wrapper = $(".camera_men"); //Fields wrapper
var add_button = $(".cam_field_button"); //Add button ID
var x = 0; //initlal text box count
$(add_button).click(function (e) { //on add input button click
e.preventDefault();
if (x < max_fields) { //max input box allowed
x++; //text box increment
$(wrapper).append('<div> <br> <select name="cam[]" id="cam_select'+x+'" class="form-control" >
' +
' <option email="email" phone="phone" value="צלם 1">צלם 1</option>
' +
' <option email="email2" phone="phone2" value="צלם 2">צלם 2</option>
' +
' <option email="email3" phone="phone3" value="צלם 3">צלם 3</option>
' +
' </select><a href="#" class="remove_field">הסר צלם ' + x + '</a><div> <input type="hidden" name="cam_email[]" id="cm_email' + x + '">
' +
' <input type="hidden" name="cam_phone[]" id="cm_phone' + x + '">'); //add input box
$('#cam_select'+x).on('change',function () {
var email = $('#cam_select'+x+' option:selected').attr("email");
var phone = $('#cam_select'+x+' option:selected').attr("phone");
$('#cm_email'+x).val(email);
$('#cm_phone'+x).val(phone);
})
}