Jquery遇到的坑

一、获取input框中单选的值

$('input:radio[name="sahla"]:checked').val(),

获取单选框的值有三种方式:

1.获取input单选框中选中的值

1、$('input:radio:checked').val();

 2.获取input单选框中选中的值

2、$("input[type='radio']:checked").val();

 3.获取input框中name值等于sahla为选中状态的值

3、$("input[name='sahla']:checked").val();

二、二级联下拉框:onchange事件

1.获取下拉框对象的内容

1)获取下拉框对象,通过啥选择器都行,只要你能选中这个对象,并用一个变量接收就行。

var my = document.getElementById("exactLocation");

 2)获取下拉框选中的下标的值,下标值!不是内容,类似于数组下标

var index = my.selectedIndex;

 3)获取下拉框中该index值选项中的文本值

var v = my.options[index].value;

4)一句话就是:获取下拉框选中的文本内容值。

var value = my.options[my.selectedIndex].value;

二级联:

body:

<select id="serviceOrigin" onchange="changeEdit();">
        <option value="">请选择</option>
        <option value="天空">天空</option>
        <option value="大地">大地</option>
        <option value="海洋">海洋</option>
    </select>
    <select id="exactLocation" onchange="changeI()"></select>

script:

var first = {};
        //定义每个字母对应的第二个下拉框
        first['天空'] = ['天空1', '天空2', '天空3'];
        first['大地'] = ['大地1', '大地2', '大地3'];
        first['海洋'] = ['海洋1', '海洋2', '海洋3'];
        function changeEdit() {
            //根据id找到两个下拉框对象
            var target1 = document.getElementById("serviceOrigin");
            var target2 = document.getElementById("exactLocation");
            //得到第一个下拉框的内容
            var v = target1.value;
            console.log(v);
            var selected_initial = target1.options[target1.selectedIndex].value;

            // var v = target2.options[target2.selectedIndex].value;
            console.log("index ==" + selected_initial);

            //清空第二个下拉框
            while (target2.options.length) {
                target2.remove(0);
            }
            //根据第一个下拉框的内容找到对应的列表
            var initial_list = first[selected_initial];
            if (initial_list) {
                for (var i = 0; i < initial_list.length; i++) {
                    // var item = new Option(initial_list[i], i);
                    //将列表中的内容加入到第二个下拉框
                    // target2.options.add(item);
                    target2.options[i] = new Option();
                    target2.options[i].text = first[selected_initial][i];
                    target2.options[i].value = first[selected_initial][i];
                }
            }
        }
function changeI() {
            var my = document.getElementById("exactLocation");
            var index = my.selectedIndex;
            var v = my.options[index].value;
            console.log("value ==" + v);
        }

控制台输出:

 这里有个比较坑的一点就是:

我这个下拉框是放在form表单中的,select下拉框提交的是value,就算你给了内容,但值没有也是白费,这里的知识前面基础看了就过了,也没仔细想想提交的值究竟是哪个,form表单提交的值是value属性!!不是id,也不是name!!id是用来获取内容的,name是用来和后端数据库中的数据字段对应的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值