сейчас делаю laravel проект. Я реализую Dynami c Добавляя и удаляя поля раскрывающегося списка ввода, используйте javascript. функция добавления и удаления может работать нормально. но проблема в выпадающих полях. внутри раскрывающегося списка я добавляю опцию «другое», поэтому при выборе «другое» будет отображаться текст типа ввода.
Я просто могу отображать текст типа ввода только в первой строке. но в другой строке неверно. вот мой код
<div id="AddItemOption">
<div class="d-flex justify-content-center align-items-center">
<table class="table table-striped table-condensed table-additems">
<thead>
<tr>
<th class="align-middle border-0">items</th>
<th class="align-middle border-0">Delete</th>
</tr>
</thead>
<tbody>
<tr id="row1">
<td>
<select name="items[]" class="form-control sellitem">
<option value="book">book</option>
<option value="pencil">pencil</option>
<option value="pen">pen</option>
<option value="other">other</option>
</select>
<input type="text" class='form-control inputother' style="display: none;" name="other[]" >
</td>
<td class="action">
<button type="submit" class="btn btn-danger ">
Delete
</button>
</td>
</tr>
<tr>
<td colspan="4">
<button type="button" class="btn btn-default btn-xs">+ Add New Item</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
, а вот скрипт
<script>
var i=1;
$('#AddItemOption .btn-default').on('click', function(e) {
i++;
var el = $('.table-additems tbody tr:eq(0)').clone();
$(el).find('option:selected').removeAttr('selected');
$(el).find(':input').each(function(){
$(this).removeAttr('value');
});
$(this).closest('tr').before('<tr id="row'+i+'" >'+$(el).html()+'</tr>');
});
$(document).on('click', '#AddItemOption .btn-danger', function(e) {
if ($('.table-additems tbody tr').length == 2) {
var el = $('.table-additems tbody tr:eq(0)');
$(el).find('select:eq(0)').val($(el).find('select:eq(0) option:first').val());
$(el).find('select:eq(1)').val($(el).find('select:eq(1) option:first').val());
$(el).find('input:eq(0)').val('');
e.preventDefault();
}
else {
$(this).closest('tr').remove();
}
});
$('.sellitem').change(function(){
if ($(this).val() == 'other') {
$('.inputother').css({'display':'block'});
}else{
$('.inputother').css({'display':'none'});
}
});
</script>
и вот ссылка, которую я сделал для тестирования тестовая функция добавления и удаления, созданная мной просто нажмите кнопку «запустить», чтобы проверить код
Я хочу это. отображать текст типа ввода, когда выбрано «другое» не во всей строке. но в каждой строчке. и когда мы добавляем «добавить новый элемент», я просто показываю выбор по умолчанию без отображения текста типа ввода ..
пожалуйста, помогите