一段 Jquery 代码,求大神优化补充。

基本作用

页面中的 radio、checkbox、select,从数据库获取数据库后给这个方法传值,让相应的值自动 selected,最常用的就时select下拉框了;

需求

  1. 大神帮忙优化如下代码(如有优化空间);

  2. (可选)还有我的部分页面还有一些 <li> 组成的导航,如果也能通过传值让<li> addclass('active')的话最好了,一个方法搞定。

/* ----------------

 * - 表单组件值自动选择

 * ----------------

 */

function setValue(name, value){

    var first = name.substr(0,1), input, i = 0, val;

    if(value === "") return;

    if("#" === first || "." === first){

        input = $(name);

    } else {

        input = $("[name='" + name + "']");

    }


    if(input.eq(0).is(":radio")) { //单选按钮

        input.filter("[value='" + value + "']").each(function(){this.checked = true});

    } else if(input.eq(0).is(":checkbox")) { //复选框

        if(!$.isArray(value)){

            val = new Array();

            val[0] = value;

        } else {

            val = value;

        }

        for(i = 0, len = val.length; i < len; i++){

            input.filter("[value='" + val[i] + "']").each(function(){this.checked = true});

        }

    } else {  //其他表单选项直接设置值

        input.val(value);

    }

}


狐的传说
浏览 483回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript