我正在使用jquery JTable库在php中创建表单。现在,我想创建一个包含多个选择选项的动态下拉列表。我会怎么做?
您可以添加属性倍数,并在单击事件时将名称属性更改为 name[]。
setTimeout(function(){$('.jtable-command-column').click(function(){
$(".access_country").attr('multiple','multiple');
$(".access_country").attr('name','country_id[]');
})},5000);
这里jtable-command-column
是编辑按钮类。我只是在点击它时触发事件。并添加属性"多个"并将属性名称更改为country_id[]
。
这工作正常。
jTable 中多选下拉菜单的一个更优雅的解决方案是在向表中添加新记录时附加一个 jtable formCreated 事件,如下所示:
formCreated: function(event, data){
//console.log('formCreated event fired: ',event, data);
if(data.formType === "create"){
var select = data.form.find('select');//your select id here
var selectName = select.prop('name');
select.prop('multiple', "multiple");
select.prop('name', selectName+"[]");
}
}
多选解决方案有一个缺点(或更多,除了服务器端的特殊处理),是返回的 json 对象只能携带一行记录。此问题的解决方案是在使用 recordAdd 事件添加行后重新加载表(或子表):
recordAdded: function(event, data){
$(event.target).jtable('reload');
}