22

この質問が既にされている場合は申し訳ありませんが、解決策が見つかりませんでした。

3 つの radios 要素があり、選択が変更されたときとページが読み込まれたときに値を確認したいと考えています。

on() 関数のみを使用してそれを行います。

私の問題は、変更イベントのみがトリガーされることです。

ここに私の現在のコードがあります:

$('.user').on('load change', function(){
  if($(this).val() == 'client'){ 
$('#user_parent').removeAttr('disabled').closest('tr').show(200);
}else{
  $('#user_parent').attr('disabled', 'disabled').closest('tr').hide(200);
}
});"

load を ready に置き換えようとしましたが、これも失敗しました。何の問題?load イベントは単一の要素で利用できませんか?

コードは $(document).ready(...) に配置され、ページが送信されると要素がすべて表示されます。

ありがとう

4

3 に答える 3

9

Vogel612 が説明したように、loadほとんどの要素では発火しません。

readyは専用ですdocument

を使用eachして、イベント ハンドラーを最初に実行できます。

$(document).ready(function(){
  $('.user')
    .each(user_handler)
    .on('change', user_handler);
});

var user_handler = function(){
  // this
};
于 2014-10-08T23:12:10.410 に答える