$.each用法及表单联动

本文介绍了如何使用JQuery的each()方法进行元素、数组及对象的遍历,并展示了具体的HTML和JS代码示例。此外,还提供了一个表单联动的实际应用场景,通过选择不同选项来动态更新下拉列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JQuery 遍历 -each()方法

元素遍历

HTML

<ul>
    <li id="one">1</li>
    <li id="two">2</li>
    <li id="three">3</li>
    <li id="four">4</li>
</ul>

JS

<script type="text/javascript">
    $('li').each(function (index,value) {
        console.log(index,$(value).attr('id'))
    })
</script>

说明:index为选择器的index的位置,value为当前的的元素(也可以使用‘this’选择器)

数组遍历

JS

var testArray = ['one','two','three','four'];
$.each(testArray,function (index,value) {
    console.log(index,value)
})

说明:index为数组的下角标,value为对应的值

对象遍历

JS

var testObject = {
    'one':'这是one',
    'two':'这是two',
    'three':'这是three'
};
$.each(testObject,function (index,value) {
    console.log(index,value)
})

说明 index为对象的key键,value为对象的值

http://shirukai.gitee.io/images/L2%25VYVZL8O3SIK@QDWD9XV6.png

表单联动

HTML

<select id="choseBase">
    <option>请选择</option>
</select>
<select id="choseSource">
    <option>请选择</option>
</select>
<select id="option">
    <option>

JS

var inputObject = {
    'MySQL': {
        '新建MySQL': ['选择mysql父节点', '选择mysql从节点'],
        '已有MySQL': ''
    },
    'ORACLE': {
        '新建oracle': ['选择oracle父节点', '选择oracle从节点'],
        '已有oracle': ''
    }
};
$.each(inputObject, function (key, value) {
    $('#choseBase').append('<option>' + key + '</option>')
});
var checkedBase, checkSource;
$('#choseBase').change(function () {
    $('#choseSource').empty();
    checkedBase = $('#choseBase option:selected').text();
    $('#choseSource').append('<option>请选择</option>');
    $.each(inputObject[checkedBase], function (key, value) {
        $('#choseSource').append('<option>' + key + '</option>')
    })
});
$('#choseSource').change(function () {
    $('#option').empty();
    checkSource = $('#choseSource option:selected').text();
    $('#option').append('<option>请选择</option>');
    $.each(inputObject[checkedBase][checkSource], function (key, value) {
        $('#option').append('<option>' + value + '</option>')
    })
})

http://shirukai.gitee.io/images/inputselect.gif

var editor; var action = $.queryString("action"); var Pid = $.queryString("id"); $(function () { //设置返回列表的href, location_prior的href在后台打开当前记录信息时赋值。 // $("#location_back").attr("href", $("#location_prior").attr("href")); //用户获取出来,获取本部门用户。 //获取本部门的权限, $.ajax({ type: "POST", url: "../services/Dtry.ashx", headers: { "Authorization": "0772A4AA051DDEBB393DC164B19A32E57C4FEEAB27A77820" }, data: { action: "names", id: Pid }, success: function (msg) { $.each(msg.ds, function (index, item) { if (item.pid == -1) { $('#qx').append('<div><ul><li> <input id="a' + item.id + '" type="checkbox" name="select_checkbox" onclick="chk_changed();" value="' + item.id + '" /><a class="sz" href="javascript:onClick=show(' + item.id + ')">' + item.name + '</a></li></ul><ul id="' + item.id + '"> </ul></div>'); } else { $('#' + item.pid).append('<li class="sc"> <input id="a' + item.id + '" type="checkbox" name="select_checkbox" onclick="chk_changed(this);" value="' + item.id + '"/><a class="zt" href="javascript:onClick=show(' + item.id + ')">' + item.name + '<br/><ul class="cc" style="display:none" id="' + item.id + '"> </ul></li>') } }) $('#typeid').val(Pid); } }); $('#user_nickname').on('change', getQ); //初始化表单验证 $("#form1").initValidform(); $(".rule-single-checkbox").ruleSingleCheckbox(); $(".rule-single-select").ruleSingleSelect(); // var result = ""; }); function chk_changed(that) { var th = $(that); if (th.is(':checked')) { console.log('已选中'); } else { console.log('未选中'); } th.next('a').find('input').attr("checked", "true"); th.parent().parent().siblings().find('input').attr("checked", "true"); th.parent().parent().parent().siblings().attr("checked", "true"); var result = ""; $("input[name='select_checkbox']:checked").each(function () { result += $(this).val() + ','; }); if (result != "") { result = result.substring(0, result.lastIndexOf(',')); } $("#typename").val(result); } function show(d1) { if (document.getElementById(d1).style.display == 'none') { document.getElementById(d1).style.display = 'block'; //触动的层如果处于隐藏状态,即显示 } else { document.getElementById(d1).style.display = 'none'; //触动的层如果处于显示状态,即隐藏 } } var getQ = function () { var userid = $('#user_nickname').val(); if (userid == null || userid == undefined) { return false; } else { $.ajax({ type: "POST", url: "../services/Dtry.ashx", headers: { "Authorization": "0772A4AA051DDEBB393DC164B19A32E57C4FEEAB27A77820" }, data: { action: "getQ", id: userid }, success: function (msg) { $.each(msg.ds, function (index, item) { $('#a' + item.typeid).attr("checked", true); }) var result = ""; $("input[name='select_checkbox']:checked").each(function () { result += $(this).val() + ','; }); if (result != "") { result = result.substring(0, result.lastIndexOf(',')); } $("#typename").val(result); } }); } } 详细翻译代码内容
03-11
JS三级联动表单 <!-- var arrText = new Array(5); var arrValue = new Array(arrText.length); function objSetOption(select1, select2, select3) { this.select1 = select1; this.select2 = select2; this.select3 = select3; } arrText[0]= new objSetOption("选择1:", "选择2_1:,选择2_2:", "选择3_1:,选择3_2:"); arrText[1] = new objSetOption("论文:1", "语文:1,数学:2,英语:3", "初中:2,高中:3"); arrText[2] = new objSetOption("例题:2", "显示b2_1:值b2_1,显示b2_2:值b2_2", "显示b3_1:值b3_1,显示b3_2:值b3_2"); arrText[3] = new objSetOption("显示c:值c", "显示c2_1:值c2_1,显示c2_2:值c2_2", "显示c3_1:值c3_1,显示c3_2:值c3_2"); arrText[4] = new objSetOption("显示d:值d", "显示d2_1:值d2_1,显示d2_2:值d2_2", "显示d3_1:值d3_1,显示d3_2:值d3_2"); arrText[5] = new objSetOption("显示e:值e", "显示e2_1:值e2_1,显示e2_2:值e2_2", "显示e3_1:值e3_1,显示e3_2:值e3_2"); function select() { var eltSelect1 = document.test.select1; var eltSelect2 = document.test.select2; var eltSelect3 = document.test.select3; var arrSelect1, arrSelect2, arrSelect3; var arrData1, arrData2, arrData3; with(eltSelect1) { var strSelect = options[selectedIndex].value; } for(i = 0;i < arrText.length;i ++) { arrSelect1 = arrText[i].select1; arrData1 = arrSelect1.split(":"); if (arrData1[1] == strSelect) { arrSelect2 = (arrText[i].select2).split(","); for(j = 0;j < arrSelect2.length;j++) { arrData2 = arrSelect2[j].split(":"); with(eltSelect2) { length = arrSelect2.length; options[j].text = arrData2[0]; options[j].value = arrData2[1]; } } arrSelect3 = (arrText[i].select3).split(","); for(j = 0;j < arrSelect3.length;j++) { arrData3 = arrSelect3[j].split(":"); with(eltSelect3) { length = arrSelect3.length; options[j].text = arrData3[0]; options[j].val
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值