タイトルの件。
ただ単に下記(1)のように書いて、一応は動いていたのですが
$("input[name='class']").val("[値]");
教えてもらって下記(2)に書き直した。
$("input[name='class']").prop('checked',false);
$("input[name='class'][value='"+値+"']").prop('checked',true);
HTMLを見てみると、
(1)のときは、
inputタグの中の checked が変更されず、見た目だけ変わってたのですが、
(2)のようにすれば、
ちゃんと checked が移動する。
変化したらイベントを発火するには、triggerを使う。
$("input[name='class'][value='"+値+"']").prop('checked',true).trigger('change');
毎回迷うので書いておきます。感謝とともに