ラジオボタングループのオプションがチェックされ、スクリプトで設定されていることをIE9に認識させようとしています。私のスクリプトでは、最初のオプションをチェックしたいと思います。xhtml doctypeで互換モードがオンになっているIE9では機能しません(必要な構成)。
var $list = jQuery("#my-radio-container");
jQuery(":radio",$list).each(function (ind,el) {
var $elm = jQuery(el);
$elm.addClass("ui-widget-content");
if (ind == 0) {
$elm.addClass("ui-state-active")
.get()[0].setAttribute("checked", "checked")
});
私はすべての通常のコンボを試しました:
$elm.attr('checked', 'checked');
$elm.prop('checked', 'checked');
$elm.attr('checked', true);
だけでなく、より珍しいもの:
$elm.get()[0].setAttribute("checked", "checked")
これは機能するはずです-のinnerHTMLをチェックする$list
と、オブジェクトがそのCHECKED="checked"
中にあることが示されているので、それが選択されると思いますか?ただし、フォームの投稿を実行すると、ラジオボタンのデータが送信されないことが示されます(ボタンをスクリプトで設定するのではなくクリックすると、同じ外部HTMLが表示され、フォームは値を使用して投稿します)。
これに戻すと、機能しません。これは奇妙なことです。
document.forms[0].elements[jQuery(":radio",$list).filter(":first").attr("name")].value = jQuery(":radio",$list).filter(":first").attr("value");
// which works out like this:
document.forms[0].myradio.value="1";
- ドキュメントの準備ができるまで待っています。
- 私はこれをグーグルで検索しました。私はさまざまな記事で提案されているさまざまなテクニックを試してきましたが、1つの記事にリンクしたからといって、他の約20の記事のタブを閉じただけではありません。
- 私は自分の要素が何であるかを確認しました、そしてはい、それは入力タイプ=ラジオタグであり、そのラベルや何か愚かなものではありません。
IE9 doesn't want to let me set a radio button check state through code.