1

ラジオボタングループのオプションがチェックされ、スクリプトで設定されていることを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. ドキュメントの準備ができるまで待っています。
  2. 私はこれをグーグルで検索しました。私はさまざまな記事で提案されているさまざまなテクニックを試してきましたが、1つの記事にリンクしたからといって、他の約20の記事のタブを閉じただけではありません。
  3. 私は自分の要素が何であるかを確認しました、そしてはい、それは入力タイプ=ラジオタグであり、そのラベルや何か愚かなものではありません。

IE9 doesn't want to let me set a radio button check state through code.

4

2 に答える 2

2

.prop("checked", true)チェックおよびチェック解除に使用し.prop("checked", false)ます。Migrateプラグインは警告する必要があります.attr(..., true)

于 2013-02-13T04:26:07.013 に答える
0

私は以前に同様の問題を抱えていましたが、入力フィールド(同じ名前)の前に非表示フィールドを宣言し、値を0に設定して、投稿/変更するフィールドがあることを確認しました。ロングショットですが、過去に私のために働いてきました。

于 2013-02-12T04:22:13.240 に答える