1

ユーザーがテキストボックスに入力する値を選択でき、ユーザーが値を編集できる選択ボックスがあります(Ajaxを使用)。選択ボックスのすべてのオプションには、IDとデータクリティカル属性があります。JQueryの「change」イベントハンドラーを使用して、データクリティカルの値をテキストボックスに入力します。

<select id="actions">
  <option id="p0" data-critical="100"  value="0">Optie 0</option>
  <option id="p1" data-critical="120"  value="1">Optie 1</option>
</select>

<input type="text" id="editcritical" />

$("#actions").change(function() {
  var selected = $(this).find('option:selected');

  $("#editcritical").val(selected.data('critical'));
});

ajax-success: function(data){
  $("#p" + data.p.id).attr("data-critical", data.p.critical);
}

Ajaxが成功すると、データクリティカルな値が変更されますが、オプションを再度選択すると、古い値がテキストボックスに表示されます。Liveメソッドを使用しようとしましたが、何も起こりませんでした。Firebugは、更新された値をdata-criticalで表示します。

テキストボックスに更新された値を表示するための提案はありますか?

4

2 に答える 2

1
$("#actions").change(function() {
  var selected = $(this).find('option:selected');

  $("#editcritical").val(selected.attr('data-critical'));
});

成功関数内で、次のことを試してください。

success: function(data){
  $("#p" + data.p.id).data("critical", data.p.critical);
}

詳細については、jQuery data()とattr(data)を参照してください。

于 2012-06-03T16:25:40.833 に答える
0

試してみましたか:

$("#editcritical").attr("data-critical");

于 2012-06-03T16:25:00.407 に答える