使っていますjQuery ユニフォーム入力/選択などのスタイルを設定します。ただし、チェックボックスが機能しなくなりました。Ajaxappending
呼び出しからデータを送信しています。読み込まれたら、$.uniform.update("input:checkbox")
新しい HTML を更新するために使用します。入力をチェック (またはチェック解除) しようとすると、1 回しか機能しません。もう一度チェック (またはチェック解除) したい場合、まったく変化しません。
私は変更を試みた統一されたJavascriptすべてのアクション (つまり、、click
などfocus
)blur
が.live
関数 (つまり、.live("click",
) の下に配置されるようにします。これでは何も動作しなくなります。
アップデート:
Uniform JS を全体的に読んでみたところ、問題が見つかりました。
if(!$(elem).attr("checked")){
//box was just unchecked, uncheck span
spanTag.removeClass(options.checkedClass);
}else{
//box was just checked, check span.
spanTag.addClass(options.checkedClass);
}
構文.attr("checked")
が失敗します。常に false を返します。なぜでしょうか? わかりません。これに加えて、属性input
を削除したりchecked
、属性を設定したりするために元の構文を更新しませんchecked
。
公式サイトをざっと見たところ、チェックボックスの入力が更新されないことがわかりました。私だけではないようです xP
グーグルで少し調べたところ、チェックボックスがチェックされているかどうかを確認するさまざまな方法を見つけましたが、次の方法は失敗します。
if ($(elem).attr("checked")) // The original.
if ($(elem).attr("checked") == true)
if ($(elem).is(":checked"))
if ($(elem).checked)
// and:
var check = $(elem).match(/checked=/);
if (check == null)
アドバイスのお言葉、本当に嬉しいです〜:3
ベストアンサー1
シンプルな解決策
それの訳はUniformJs
フォーム上の値を動的に変更する必要がある場合は、uniform 要素の変更を更新する必要があります。
$('#checkbox').prop('checked',true);
$.uniform.update();
編集
#checkbox
のみを更新したい場合は、次の手順に従ってください。
$('#checkbox').prop('checked',true);
$.uniform.update('#checkbox');