0

次の入力フィールドからそれぞれの 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 に「1」文字のみをプッシュします。

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]);

しかし、これはうまくいきません...

4

2 に答える 2

1

「new」属性を使用して div タグを適切に閉じると、役立つ場合があります。

于 2011-05-10T20:07:23.947 に答える
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]);
});

jsfiddle.net で動作するデモ

于 2011-05-10T23:42:06.777 に答える