Jquery获取select option动态添加自定义属性值失效

2014/12/31 11:49:19 中国学网转载 编辑:李强
http://www.xue163.com/588880/39096/390963333.html

为了帮助网友解决“Jquery获取select optio”相关的问题,中国学网通过互联网对“Jquery获取select optio”相关的解决方案进行了整理,用户详细问题包括:jqueryselectie9  function GetFenceItemData(type) {
            var selObj = document.getElementById("fence");
            selObj.options.length = 0;
            var arr = new Array();
            for (var i = 0; i < fencelist.length(); i++) {
                if (fencelist.elements[i].value.o_fencetype == type) {
                    arr.push(fencelist.elements[i].value);
                }
            }
            if (arr.length > 0) {
                for (var i = 0; i < arr.length; i++) {
                    var option = new Option(arr[i].o_fencename,arr[i].o_fenceid);
                    option.radius = arr[i].o_radius;
                    selObj.options.add(option);
                }
            }
        }
向ID为fence的select中添加option以及自定义属性
 var fence = $("#fence option:selected");
 var radius = fence.attr("radius");
  alert(radius);
获取ID为fence的select当前选中项的自定义属性radius的值
在IE8有用,在IE9,新型浏览器失效,提示Undefine,这是为什么?
,具体解决方案如下:

解决方案1:
var radius = fence.attr("radius");   这句是获取属性radius吧, 你还没添加就去获取 肯定undefined

添加自定义的应该是  fence.attr("radius","str");

解决方案2:
参考

<select id="s"></select>
<script src="http://www.wosoni.com/www.w3school.com.cn/jquery/jquery-1.11.1.min.js"></script>
<script>
  var d=$('#s');
  for(var i=0;i<5;i++)d.append('<option radius="'+i+'">'+i+'</option>')
</script>
<input type="button" value="get" onclick="alert($('#s option:selected').attr('radius'))"/>

解决方案3:

引用 1 楼 Ragin 的回复:

var radius = fence.attr("radius");   这句是获取属性radius吧, 你还没添加就去获取 肯定undefined

添加自定义的应该是  fence.attr("radius","str");

 var option = new Option(arr[i].o_fencename,arr[i].o_fenceid);
 option.radius = arr[i].o_radius;
 selObj.options.add(option);
 是添加了自定义属性,再去获取的,IE8有效,IE9失效

解决方案4:
设置的时候这样:

option.setAttribute('radius',arr[i].o_radius) ;

解决方案5:
用jquery添加。  原生JS添加option自定义属性不好用

解决方案6:
问题解决了,分享给大家吧....
我之前是用JS为Select动态添加自定义属性的,然后用Jquery获取Select选中项的自定义属性值,在IE8有效,在IE9失效;
在网上找了很多方法,也没有解决,后来尝试用Jquery为Select动态添加自定义属性,用Jquery获取Select选中项的自定义属性值,
经测试IE9,新型浏览器,都有效,由此得出,Jquery和JS在某些方面,存在不兼容,如果要为Select动态添加自定义属性,要么都 用JS,要么都用Jquery,可以减少不必要的麻烦!

Jquery获取select option动态添加自定义属性值失效的更多相关文章

  1. 通过JQUERY获取SELECT OPTION中选中的值

    遇到一样学一样. 一个是取KEY,一个是取VALUE,一个是取所有文本. var dbuser_select = $("#dbuser_select option:selected" ...

  2. js&jquery 获取select下拉框的值、文本内容、自定义属性

      js&jquery 获取select下拉框的值.文本内容.自定义属性 CreationTime--2018年7月2日09点22分 Author:Marydon html <selec ...

  3. Jquery获取select选中的文本与值

    jquery获取select选择的文本与值获取select :获取select 选中的 text :    $("#ddlregtype").find("option:s ...

  4. jquery获取select选择的文本与值

    jquery获取select选择的文本与值获取select :获取select 选中的 text :    $("#ddlregtype").find("option:s ...

  5. Jquery获取select,dropdownlist,checkbox下拉列表框的值

       jQuery获取 Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...});   ...

  6. zepto区别于jquery获取select表单选中的值

    在jquery下,我们获取select表单选中的值通常是通过$('select').val()来实现,这样的方式简单又明了,或者通过$('select option[selected]').text( ...

  7. JQuery/JS select标签动态设置选中值、设置禁止选择 button按钮禁止点击 select获取选中值

    //**1.设置选中值:(根据索引确定选中值)**// var osel=document.getElementById("selID"); //得到select的ID var o ...

  8. 【转】jQuery获取Select option 选择的Text和Value

    获取一组radio被选中项的值:var item = $('input[name=items][checked]').val();获取select被选中项的文本:var item = $(" ...

  9. jquery 获取Select option 选择的Text和Value

    jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关设置 获取一组radio被选中项的值:var item = $(' ...

随机推荐

  1. Python不同版本打包程序为.exe文件

    安装pyinstaller 测试用的python环境是3.6.2版本 下载地址 https://github.com/pyinstaller/pyinstaller/ 1.打开cmd,切到pyinst ...

  2. abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十(四十六)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  3. 8.Python中装饰器是什么?

    Python中装饰器是什么? A Python decorator is a specific change that we make in Python syntax to alter functi ...

  4. vue项目中上拉加载和下拉刷新页面的实现

    功能:上拉加载,下拉刷新 使用方法: 自己创建一个.vue的文件(我自己是创建了一个PullToRefresh.vue的文件),将代码粘贴进去,具体的样式问题自己在该文件中调整. <templa ...

  5. 《Cisco防火墙》一2.4 总结

    本节书摘来自异步社区<Cisco防火墙>一书中的第2章,第2.4节,作者 [巴西]Alexandre M.S.P. Moraes,更多章节内容可以访问云栖社区"异步社区" ...

  6. angular2相关

    脚手架安装一个项目 1.全局安装angular脚手架 npm install -g @angular/cli 2.初始化一个文件夹 ng new my-angular-demo 3.进入文件夹 cd ...

  7. P3588 【[POI2015]PUS】(线段树优化建边)

    P3588 [[POI2015]PUS] 终于有个能让我一遍过的题了,写篇题解纪念一下 给定长度为n的序列和其中部分已知的数,还有m个大小关系:区间\([l,r]\)中,有k个给定的数比剩下的\(r- ...

  8. Git 上传本地项目到远程仓库 (工具篇)

    前言:前面一开始写了一篇通过命令来操作本地项目上传远程仓库的文章,后来发现此方式没有那么灵活.故跟开发同事请教了下,知道了通过工具来操作更方便.所以写了这篇文章来分享&记录. 前提条件:本地安 ...

  9. centos安装libconfig

    安装很简单,生成的.so文件会被安装到/usr/local/lib目录,记得修改/etc/profile. 安装过程会出现两个错误: What is makeinfo, and how do I ge ...

  10. OSG程序设计之osg::NodeVisitor

    本文所有内容来自<OpenSceneGraph三维渲染引擎设计与实践>一书. 本文主要讨论的是OSG中节点的访问. 对于节点的访问是从节点接收一个访问器开始的,用户执行某个节点的accep ...