js 怎样把dialog内input 框的值传到父级页面

js 怎样把dialog内input 框的值传到父级页面,第1张

使用windowreturnvalue;

在父级页面打开子集页面,可以获取子集的返回值。在子集中给windowreturnvalue赋值,将在父级中获得这个值。

父级中这样写:

var returnVal=windowShowModeDialog(xxxxx);

子集中这样写:

windowreturnvalue=input框的值。

父级中的returnVal变量就是你要的值了。

除了这个,还可以使用cookie、sessionstrog等来存储,不过windowreturnvalue是最简便也是最适合你的。

//传入参数:需要遍历的对象,需要匹配的id,获取所有的父级节点的Id

        function findIdList(data2, id, children = 'children', level = 0) {

  var arrRes = [];

  let obj = {

      id: 0,

      [children]: data2

  }

  let rev = (data, id, level) => {

    if (!data || !data[children] || !data[children]length) {

      return;

    }

    for (var i = 0; i < data[children]length; i++) {

      let item = data[children][i];

      if (itemid == id) {

        // 将匹配到的结果保存到数组

        arrResunshift({ level, activeId: itemid });

        // 递归它的父级

        rev(obj, dataid, 0);

        break;

      } else if (item[children] && item[children]length > 0) {

        //如果有子集,则把子集作为参数重新执行本方法

        rev(item, id, level + 1);

      }

    }

  };

  rev(obj, id, level);

  return arrRes;

}

let list = [

    {id: 1, children: [

        {id: 11, children: [{id: 12}]}

    ]},

    {id: 2, children: [{id:21, children: [{id: 31}]}]}

]

let b = findIdList(list, 21)

consolelog(b) // [ { level: 0, activeId: 2 }, { level: 1, activeId: 21 } ]

Jquery的遍历,其实就当前位置的元素相对于其他元素的位置的关系进行查找或选取HTML元素。以某项选择开始,并沿着这条线进行移动,或向上(父级)、或向下(子级)、或水平(同级),直到找到目标元素为止,这种移动也被成为对DOM进行遍历。

其实对于DOM来说,这个不陌生,Jquery的遍历也就是在DOM树上上蹿下跳,当然这种上蹿下跳不是没有规则的,胡乱的找是让人鄙视的。通俗的说,在一颗树上(你也在树上,已经爬上去了,哈哈),以你所在的位置为起点,以树上有个桃子为目的地,你的这个起点也就是当前 this ,去移动去摘桃子的过程就是Jquery遍历,所以相对应的Jquery所衍生出的遍历方法可以分为三大类,即Jquery遍历之父级(祖先)、同级(同胞)和子级(后代)三种。

如果是jQuery就很好做:

var arr=$('#total')children('firstChild');//获取类firstChild的三个节点

然后遍历,获取子节点:

var list=[];//存放子节点

for(var i=0,len=arrlength;i<len;i++){

    var ele=$(arr[i])children();

    if(ele) listpush(ele);//我习惯判断一下ele是否有值,如果没有子节点的话:ele=undefined

}

var a_arr = documentgetElementById("demo")getElementsByTagName("a");这就是找到所有demo下的a,返回的是数组

有2个办法取值,

第一,如果这个 input 和 span 有一个父级,比如同在一个td或者div里面,那就用input父级第二个子集,具体方法用jquery的 $(input)parent()children()[1]这样获取

第二,直接给span 加一个id 然后 $('#spanid')html() 或者 $('#spanid')text() 获取

如果有多个这个的。那就加上不同的id就ok了

以上就是关于js 怎样把dialog内input 框的值传到父级页面全部的内容,包括:js 怎样把dialog内input 框的值传到父级页面、JS根据子节点递归获取所有父节点的集合、js中如何获取div下的二级子元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9702451.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存