jQuery の replaceWith が効かないバグがあり、原因がわからないため、質問です。

サンプルページ
http://mujint.net/rental/mtmr/

自動見積もりフォームで、
個人のお客さまにはDoCoMoのみ。
法人のお客さまには、DoCoMo or SoftBankの選択が可能になっています。

DoCoMoはパケット利用必須、SoftBankはパケットなしに指定していて、
DoCoMo利用の場合のみ、オプションのパケ放題を選択可能にしたいのです。

サンプルページを開いて、
(遷移1)まず法人を選び SoftBankを選ぶと パケ放題CheckBoxが消えて、
DoCoMoを選び直すと パケ放題CheckBoxが現れます。(正常動作)
(遷移2)一旦、個人を選択したあと、法人を選び SoftBankを選ぶと パケ放題CheckBoxが消え(正常動作)
DoCoMoを選び直しても、パケ放題CheckBoxが出ません。(バグ)

他にも、法人のみのケータイ補償サービスが出たり消えたりしますが、それらは正常です。


どこかにバグがあると思うので
識者のかたに、ご教授いただけると助かります。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2011/02/22 21:57:52
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Lhankor_Mhy No.1

回答回数814ベストアンサー獲得回数232

ポイント60pt

確証はありませんが、

$("#person").click(
	function(){
...
	    $("#carrir_d").replaceWith('<input type="radio" name="caria" id="carrir_d" value="dcm" checked>');
...
	}
);

 の部分でイベントが破壊されているのではないでしょうか?

id:yayoharu

ビンゴ、大感謝です!

1行除いたら、正常動作になりました。(ローカル環境の更新のため、サンプルは初期のまま。)

2011/02/22 19:18:39

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません