1

このスレッドのアウトラインに従って、データテーマを変更することにより、分割ボタンリストビューの色見本を動的に変更しようとしています。興味深いことに、JavaScriptにアラートステートメントを挿入するとスキームは機能しますが、アラートを削除すると、これはうまく機能しません。

サンプルは次のとおりです。

なぜこれが起こっているのか、そして私が何を見逃しているのかについての提案はありますか?ありがとう。

4

2 に答える 2

1

原因はよくわかりません。しかし、これは私があなたがしていることを書き直す方法です(これは問題を解決するように見えます):

onclick="toggleChecked('2', 'TR02')"まず、 HTMLからインラインJavaScript()を削除します。

toggleChecked()次に、関数を次のjavascriptに置き換えます。

$(document).ready(function(){
   $('a[id^="star"]').on("click", function(){

      if ($(this).data("theme") == "d") {
         $(this).buttonMarkup({ theme: 'e' }).button();
      } else {
         $(this).buttonMarkup({ theme: 'd' }).button();
      }
   });
});

id上記はイベントリスナーであり、で始まるアンカーstarがクリックされたことを確認します。

ボタンの更新は少しバグがあるように見えます。ボタンを再構築しても、前のテーマのクラスがハングアップすることがよくあります。


アップデート

実際に上記を破棄すると、選択したボタンを実現するためのこのような複雑な方法のように見えます。上記をガイドとして使用してCSSを変更し、インラインスタイルを削除して、次のjQueryを使用してみませんか。

$(document).ready(function(){
   $('a[id^="star"]').on("click",function(){
      $(this).toggleClass("ui-btn-pressed");
   }); 
}); 

これがjsbinです:http://jsbin.com/ifodij/8/edit

于 2012-09-03T07:24:07.073 に答える
0

残念ながら、上記の受け入れられた答えは、分割アイコンのテーマを変更するために私には機能しませんでした、私はここで私の問題フォームを解決しました $(this).find('span.ui-btn').buttonMarkup({ theme: 'b' });

于 2013-12-02T12:50:45.743 に答える