jquery如何获取兄弟节点的特定子节点的值,谢谢。

查看:73
本文介绍了jquery如何获取兄弟节点的特定子节点的值,谢谢。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

            <div class="form-group col-md-12">
                <label class="col-sm-2 col-md-4 control-label"></label>
                <div class="common box box-default info-box-content col-md-8" style="background:rgb(244, 248, 255);">
                    <div class="form-group">
                        <label class="col-sm-2 col-md-5 control-label" for="instance">数据库实例名:</label>
                        <div class="col-sm-8 col-md-7">
                            <input id="db_instance_name0" class="form-control" name="db_instance_name0" value="xxx" required="required" placeholder="" type="text"/>
                            
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 col-md-5 control-label" for="sourceChoose">所属机器:</label>
                        <div class="col-sm-8 col-md-7">
                            <select id="machine_belong0" class="form-control" name="machine_belong0">
                            </select>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 col-md-5 control-label" for="access port">访问端口:</label>
                        <div class="col-sm-8 col-md-7">
                            <input id="access_port0" class="form-control" name="access_port0" value="1521" required="required" placeholder="" type="text"/>
                            
                        </div>
                    </div>
                    <input class="btn btn-primary pull-right"  type="button" value="数据库测试" onclick="check_db(this);"/>
                </div>
            </div>
 function check_db(that){
    //console.log($(that).siblings());
   //var xx =  $(that).siblings().attr('db_instance_name0');
   var xx =  $(that).siblings().eq(0).children('input').val();
    console.log(xx);
}

                    
                    

我想获取input的值,如何获取兄弟节点上input的值,就是整理的两个input一个select的值,谢谢。

改好了,没看好结构,慢慢调就行

var xx = $(that).siblings().eq(0).children('div').children('input').val();

解决方案

题主不是专业前端吧。

有几个小问题:

  • 表单元素没有放到form标签内;

  • label标签的for属性使用不正确。

根据题主的提问,想必题主是想用js来控制表单的验证和提交吧。

验证必须在提交之前,验证要做的就是获取需要验证的表单元素的值。
如果使用jquery,可以使用$("#formid").serialize()格式化然后使用js转化为结构化数据,再进行判断,这样既方便又快捷。
示例代码如下:

var formSerializeData = $("#formid").serialize();
var formDatas = formSerializeData.split("&");
var validateData = {};

for(var i=0; i< formDatas.length; i++) {
    var temp = formDatas[i].split("=");
    var key = temp[0];
    var val = temp[1];
    
    validateData[key] = val;
}

这篇关于jquery如何获取兄弟节点的特定子节点的值,谢谢。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆