我遇到了Dropdown弹出窗口的问题。 在我的Dropdown中有选项“Add New”,当我点击“Add New”时,pop应该打开...现在无法打开! 这是下拉代码
echo form_dropdown('Birth_Certificate_Storage_id['.$key.']', $optionstorage,"",array('class'=>'form-control roleId','id'=>'Birth_Certificate_Storage_id['.$key.']','onchange'=>'addRole(this.options[this.selectedIndex].text)'));
我在下拉列表中添加了“onchange”事件并将函数设置为“addRole()”
addRole()函数
function addRole(val)
{
//alert("test");
if (val == "ADD NEW")
{
$('#RoleModal').modal('show');
$('#form_role').validate({
rules:
{
Storage Code: { required: true},
Storage Location: { required: true},
},
messages:
{
Storage Code: {required: "This field is Required"},
Storage Location: {required: "This field is Required"}
}
});
}
}
功能不起作用,我无法在该功能中发出警报
任何帮助将不胜感激
答案 0 :(得分:0)
<强>更新强>
form_dropdown函数的第四个参数应该是字符串而不是数组,如:
echo form_dropdown('Birth_Certificate_Storage_id[' . $key . ']', $optionstorage, "", 'class="form-control roleId" id="Birth_Certificate_Storage_id[' . $key . ']"');
如果您使用jQuery,您可以在javascript代码/文件中绑定更改事件,而不是将其设置为内联:
$(document).ready(function () {
$('.form-control.roleId').on('change', function () {
var val = $(this).find("option:selected").text();
if (val == "ADD NEW") {
$('#RoleModal').modal('show');
$('#form_role').validate({
rules : {
'Storage Code' : {required: true},
'Storage Location': {required: true}
},
messages: {
'Storage Code' : {required: "This field is Required"},
'Storage Location': {required: "This field is Required"}
}
});
}
});
});
请注意我修复了你的JS中的一些问题!