Codeigniter下拉问题

时间:2016-04-07 13:37:04

标签: javascript php jquery ajax codeigniter

我遇到了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"}
    }
}); 
}

}
功能不起作用,我无法在该功能中发出警报 任何帮助将不胜感激

1 个答案:

答案 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中的一些问题!