js读取xml文件并引用到下拉选择选项

表单经常用到下拉框,除了在option标签写死,从数据库动态载入,这里将选项写到xml文件内,并在js中读取到页面上。

首先xml文件随便来几个选项:

<sels>
    <!--支出类别-->
    <zclb>食品</zclb>
    <zclb>衣着</zclb>
    <zclb>居住</zclb>
    <zclb>家庭设备用品及服务</zclb>
    <zclb>医疗保健</zclb>
    <zclb>教育文化娱乐服务</zclb>
    <zclb>交通和通讯</zclb>
    <zclb>人情礼金</zclb>
    <zclb>其它商品和服务</zclb>
</sels>

页面select标签:

 <select class="form-control" id="XXX" name="XXX">
</select>

 js片段,引用:https://www.cnblogs.com/luoyunfei99/articles/6705895.html的方法

//xml 载入下拉选项 go
    //主要参考 https://www.cnblogs.com/luoyunfei99/articles/6705895.html
    //参考 https://blog.youkuaiyun.com/github_36885144/article/details/53489218
    // 加载xml文档
    var loadXML = function (xmlFile) {
        var xmlDoc;
        if (window.ActiveXObject) {
            xmlDoc = new ActiveXObject('Microsoft.XMLDOM');//IE浏览器
            xmlDoc.async = false;
            xmlDoc.load(xmlFile);
        }
        else if (isFirefox=navigator.userAgent.indexOf("Firefox")>0) { //火狐浏览器
            //else if (document.implementation && document.implementation.createDocument) {//这里主要是对谷歌浏览器进行处理
            xmlDoc = document.implementation.createDocument('', '', null);
            xmlDoc.load(xmlFile);
        }
        else{ //谷歌浏览器
            var xmlhttp = new window.XMLHttpRequest();
            xmlhttp.open("GET",xmlFile,false);
            xmlhttp.send(null);
            if(xmlhttp.readyState == 4){
                xmlDoc = xmlhttp.responseXML.documentElement;
            }
        }
        return xmlDoc;
    }

    // 首先对xml对象进行判断
    var  checkXMLDocObj = function (xmlFile) {
        var xmlDoc = loadXML(xmlFile);
        if (xmlDoc == null) {
            alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
            window.location.href = '../err.html';
        }
        return xmlDoc;
    }
    var xmlDoc = checkXMLDocObj('../xmls/sels.xml');//读取xml文件中的数据
    var a = xmlDoc.getElementsByTagName("zclb");//获取标签
    $('#XXX').append('<option value="">' + "选择支出类别" + '</option>');
    for(var i=0;i<a.length;i++){
        console.log(a[i].innerHTML);
        $('#XXX').append('<option value='+a[i].innerHTML+'>' + a[i].innerHTML + '</option>');
    }
    //xml 载入下拉选项 end

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值