0

私は本当に単純であるべきだと知っていますが、私はそれを理解していません。

clone を使用して<li>要素をコピーしています:

var li = $('.selected_list .template').clone();

リストには次の項目があります。

<li>
  <input type="hidden" value="" class="item_id" name="item_id[]">
  <div class="col_rating">
    <input type="textbox" value="" maxlength="3" class="item_rating" name=""> 
  </div>  
</li>

以下を使用して、item_id入力の内容を変更できます。

  $(li).find('.item_id').prop({
    'value': $(item).attr('id'),
    'name': 'item_id[]'
  });
  $(li).find('.col_rating').find('input.col_rating').prop('name','item_rating[]');

  $(li).find('.col_name').text($(item).find(('.assoc_name')).text());
  $(li).find('.col_cost > input.item_cost').val($('.info_container .unit_cost').val());

inputしかし、内にラップされているの値を変更するにはどうすればよいdivですか?

子供にアクセスするために使用しようとし>ましたが、うまくいきませんでした。

あなたの助けは大歓迎です:)

更新
の値を変更できますitem_id。問題は、入力のname属性を更新するにはどうすればよいですか?col_rating

4

5 に答える 5

2
$('.item_rating', li).val('250');
于 2012-07-20T22:10:02.753 に答える
1

.val()要素の値を設定するために使用します。違う.prop()、違う.attr()

li.find('.item_id').val('250');
于 2012-07-20T22:06:39.347 に答える
1

コロンをコンマに置き換えます。また、liすでに jQuery オブジェクトであるため、再度ラップする必要はありません。

li.find('.item_id').prop('value', '250');

実際には、を使用してプロパティを設定する代わりに、次を.prop()使用します.val()

li.find('.item_id').val('250');
于 2012-07-20T22:06:56.557 に答える
0
li.find('.item_rating').val('250')
于 2012-07-20T22:08:52.590 に答える
0
var li = $('.selected_list .template').clone();
li
  .find('.item_id').prop({ // find item_id and change properties
    'value': '250',
    'name': 'name1'
  })
  .end() // jump to list again
  .find('.item_rating').prop({ // find .item_rating and change properties
    'value': '150',
    'name': 'name2'
  })
  .appendTo('.selected_list'); // append to list (you may have something else)

デモ

于 2012-07-20T22:22:15.933 に答える