如何将文本值推送到其父级和兄弟级div。使用jquery

时间:2011-05-10 20:04:08

标签: jquery arrays closest

我需要从以下输入字段中选择所有值到各自的div ..请参阅下面的

<div id='table_row_div'>
  <div id='txtbox'><input type=text name='from' value='<?php echo $someVal?>'></div>
  <div id='splited'>
    <div new="0"><div>i want text's splited value here</div>
    <div new="1"><div>i want text's splited value here</div>
    <div new="2"><div>i want text's splited value here</div>
  </div>
</div>

这些输入文本文件包含(1,0,0),(0,1,1),(1,0,1)类型值... 上面的块大约是49次......我想要一个自动分解文本值的系统,并在attr(new)的每个下一个div上只按“one”字符;

我怎么能用jquery做到这一点。我尝试了以下类型的代码..

var inputVal = $("#table_row_div #txtbox input");
var arrayFromDB = inputVal.val().split(',');


inputVal.closest('div').closest('div').find('div[new~="0"]').text(arrayFromDB[0]);
inputVal.closest('div').closest('div').find('div[new~="1"]').text(arrayFromDB[1]);
inputVal.closest('div').closest('div').find('div[new~="2"]').text(arrayFromDB[2]);

但这不起作用......

2 个答案:

答案 0 :(得分:1)

如果使用“new”属性正确关闭div标签,可能会有所帮助。

答案 1 :(得分:1)

首先要做的事情 - 不要多次使用ID。 ID设计为唯一。

如果课程不是唯一的,请更改IDs课程。

您可以像这样实施所需的解决方案:

<强> HTML

<div class='table_row_div'>
    <div>
        <input type='text' class='txtbox' name='from' value='<?php echo $someVal?>'>
    </div>
    <div class='split'>
        <div new="0">First split value</div>
        <div new="1">Second split value</div>
        <div new="2">Third split value</div>
    </div>
</div>

<强>的jQuery

$('.txtbox').each(function() {
    var arrayFromDB = $(this).val().split(',');
    var splitDiv = $(this).closest('.table_row_div').find('.split');
    $('div[new~="0"]', splitDiv).text(arrayFromDB[0]);
    $('div[new~="1"]', splitDiv).text(arrayFromDB[1]);
    $('div[new~="2"]', splitDiv).text(arrayFromDB[2]);
});

Working demo on jsfiddle.net