【发布时间】:2021-08-22 02:05:23
【问题描述】:
早上,
我在第一列有一个带有 selectpicker 的表。 我想动态添加行。 实际上,在添加第一列之后就可以了,但我无法选择第二列。 感谢您的帮助。
我的桌子:
<tbody>
<tr>
<td>
<Select class="selectpicker" name="item_desc[]" id="item_desc" type="integer" onchange="select_fields(this)">
<option> </option>
@foreach ($articles as $article)
<option>{{$article->id}}</option>
@endforeach
</Select>
</td>
<td class="writefields" name="item_fields[]"></td>
<td><i class="btn far fa-trash-alt" onclick="remove_row(this)"></i></td>
</tr>
</tbody>
`
我添加行的功能:
function add_row(){
var root = document.getElementById('add_table').getElementsByTagName('tbody')[0];
var rows = root.getElementsByTagName('tr');
var clone = cloneEl(rows[rows.length -1]);
cleanUpInputs(clone);
root.appendChild(clone);
}
function cloneEl(el){
var clo = el.cloneNode(true);
return clo;
}
function cleanUpInputs(obj){
for (var i = 0; n = obj.childNodes[i]; ++i){
if(n.childNodes && n.tagName != 'INPUT'){
cleanUpInputs(n);
}else if (n.tagName == 'INPUT' && n.type == 'text') {
n.value = '';
}
}
}
我的 select_fields 函数:
function select_familyfields(e)
{
...
var selectionfamille = e.value;
$.ajax({
type: "POST",
url: "/achats/selection",
data: {_token: CSRF_TOKEN, code_item : selection },
dataType: "JSON",
success: function (data) { $(e).parents('tr').find('.item_fields[]').text(data.natureachat.LibNatureAchat);
...
}
});
}
【问题讨论】:
-
你能说得更具体些吗?新创建的行上的选择菜单是否没有触发 onchange 事件? select_fields() 函数在哪里?
-
感谢您的反馈。请参阅下面我的 select_fields() 函数。
-
我认为我的问题是在通过克隆将新行添加到添加行功能后删除引导选择。我可以成功选择第一行。但我不能在添加新行后做出新的选择。我的新克隆 ligne 仍然选择了第一行项目。
-
你解决了吗?
-
还没有...正在寻找解决方案!
标签: javascript php jquery laravel bootstrap-select