js常用的控件处理

    xiaoxiao2021-10-31  86

    多选框,单选框,下拉框这三个东西在项目中一般都会用到:

    1.下拉框使用场景:常常都是后台传递数据到前台,前台拿到值后要让下拉框对应的这个值得选项选中:

    我的思路是:使用一个隐藏域去拿到后台传来的值,然后遍历下拉框的option的值,跟这个后台的值相对比,如果对比上了就选中。

    具体代码:

    <td> <input type="hidden" id="netFlagvalue" name="netFlagvalue" value="${itsm_ci.netFlag}"/> <select name="netFlag" id="netFlag"> <option value="">请选择</option> <option value="O">外网</option> <option value="I">内网</option> <option value="Z">专网</option> </select> </td> JS: /*翻译网络标识*/ function formattNetFlag() { var netFlagvalue=$("#netFlagvalue").val(); var all_options = document.getElementById("netFlag").options; for (i=0; i<all_options.length; i++){ if (all_options[i].value == netFlagvalue) // 根据option标签的VALUE来进行判断 测试的代码这里是两个等号 { all_options[i].selected = true; //相等则选上 } } } 2.单选框的处理:思路跟下拉框是一样的:遍历每个单选框,如果单选框的值与后台传来的值一致,则让其选上

    <td id="igS"> <input type="radio" name="isgraphics" value="1" />是<input type="Radio" name="isgraphics" value="0" checked="checked"/>否 <input type="hidden" id="isgraphicsSelect" value="${category.isgraphics}"></td> </td> JS: $("#igS :radio").each(function(){              //选上当前的是否需要显示图标的按钮   if($(this).val()==isgraphics)   {   $(this).attr("checked",true);   }   });3.多选框的处理:思路其实也是一样的:但是处理方法不同,因为多选框的数据一般存在数据库是以逗号隔开的字符串,所以通常来说需要先解析打包成数组,然后遍历多选框,如果多选框的值在数组内则让其选上:所以最关键的一点是:怎么判断多选框的值在数组中:使用$.inArray($(this).val(), arrays)    这个api即可:

    上代码:

    <td colspan="3" id="SystemOs"> <input type="checkbox" name="os" value="windows95"/>windows95 <input type="checkbox" name="os" value="windows98"/>windows98 <input type="checkbox" name="os" value="windows2000"/>windows2000 <input type="checkbox" name="os" value="windows2003"/>windows2003 <input type="checkbox" name="os" value="windows xp"/>windows xp <input type="checkbox" name="os" value="windows vista"/>windows vista <input type="checkbox" name="os" value="win7"/>win7 <input type="checkbox" name="os" value="linux"/>linux <input type="checkbox" name="os" value="Unix"/>Unix <input type="checkbox" name="os" value="Solaris"/>Solaris <input type="hidden" id="allos" value="${itsmSoftMedia.os}"> </td> JS: //这里让多选框选上值 var arrays= new Array(); var allos=$("#allos").val(); arrays=allos.split(","); $("#SystemOs :checkbox").each(function(){ if($.inArray($(this).val(), arrays)!=-1) { $(this).attr("checked",true); } });

    jquery1.7以后使用

    <input type="checkbox" id="ss">

    alert($("#ss").attr("checked"));                      -------------------------------undefined

    应该使用$("#ss").prop("checked")              ------------------------去获得是否选上的状态。

    转载请注明原文地址: https://ju.6miu.com/read-677906.html

    最新回复(0)