Jquery は、別のダイアログも開いているときに、ダイアログにあるラジオ ボタンの選択を解除しています。デバッグで実行すると、jquery ソースの犯人は次の行です。
if ( !eventHandle ) {
elemData.handle = eventHandle = function() {
// Handle the second event of a trigger and when
// an event is called after a page has unloaded
return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
jQuery.event.handle.apply( eventHandle.elem, arguments ) :
undefined;//after this line executes selected radio button is lost.
};
}
これがなぜなのか誰か知っていますか?
これを引き起こしているものの簡略版:
$("#editYes").click(function(){//this radio is inside a dialog
if($("#editsList").children().size()==0){
$('#editDialogDiv').dialog('open');
setDateHints();
$('#editOpen').val("true");
}
//jquery code above runs here. Upto this point the radio remains selected
});
html は次のようなものです。
<div title="atitle" id="dialog1">
...
Yes<input id="editYes" type="radio" value="true" name="edits"> <!-- click this to open second dialog, but its then deselected by jquery-->
No<input id="editNo" type="radio" value="false" name="edits">
...
</div>
<div title="anothertitle" id="secondDialog">
...some content
</div>