3

私はこのコードを持っています

<table class="X">
  <tr>
    <td class="Y">Value</td>
  </tr>
</table>

<table class="Z">
  <tr>
    <td><input class="edit-Y" type="text"></td>
  </tr>
</table>

jQueryを使用してクラス「edit-Y」で入力するには、クラス「Y」でtdから値を取得する必要があります。別の方法でスクリプトをコーディングしようとしましたが、常に空のフィールドまたは [Object Object] が表示されます。何か案は?

ありがとう!

4

3 に答える 3

1

より普遍的なアプローチ:

$(".Z input").val(function() {
    return $(".X td." + this.className.split("-").pop()).text();
});

デモ: http://jsfiddle.net/G3tBT/

于 2012-11-20T11:11:53.067 に答える
1

これを試して、

$('.edit-Y').val($('.Y').html());

コメントに対する追加の回答

次のようなhtmlがあり、tdの各値を選択して特定の入力ボックスに挿入したい場合、

<table class="X">
  <tr>
    <td class="Y1">Value1</td>
    <td class="Y2">Value2</td>
    <td class="Y3">Value3</td>
  </tr>
</table>

<table class="Z">
  <tr>
    <td><input class="edit-Y1" type="text">
    <input class="edit-Y2" type="text">
    <input class="edit-Y3" type="text"></td>
  </tr>
</table>

jquery は次のようにします。

$(function(){
 $('td[class^=Y]').each(function(){ 
    var tdValue = $(this).html();
    var id = $(this).attr('class');
    $('.edit-'+id).val(tdValue);
  });
});
于 2012-11-20T11:12:43.583 に答える
0

$('.edit-Y').val( $('td.Y').text() );

于 2012-11-20T11:09:30.737 に答える