2011-09-13 9 views
1

のボタンにアイコンを追加すると問題が発生する他のすべてのボタンが正しくフォーマットされています。アイコンはafter()ファンクション文字列のcreateSaveクラスボタンとは別にアイコン付きで表示されます。誰でも何が起こっているか知っていますか?jquery ui

のjQuery:

 $(".save,.createSave").button({ 
      icons: { 
       primary: "ui-icon-disk" 
      } 
     }); 

     $('#newJudgeLink').click(function(){ 
      $(this).hide(); 
      $('#tableJudges tr:first').after('<tr class="altr" id="newCreateRow"><td><button class="createSave">Save</button></td><td><input type="text" id ="createJudgeName" value="Last Name"/></td><td><?php $x = getSections(); echo '<select id="createJudgeSection">'; foreach($x as $y){ echo "<option>$y</option>"; } echo "</select></td><td>Active</td></tr>"; ?>'); 
}); 

答えて

1

あなたが実際にボタンを作成しました前に、あなたはボタンの機能を呼び出しているように見えます。あなたは両方の負荷上の文書全体に対するjQueryのUIのプラグインを実行するように

$('#newJudgeLink').click(function(){ 
    $(this).hide(); 
    $('#tableJudges tr:first').after('<tr class="altr" id="newCreateRow"><td><button class="createSave">Save</button></td><td><input type="text" id ="createJudgeName" value="Last Name"/></td><td><?php $x = getSections(); echo '<select id="createJudgeSection">'; foreach($x as $y){ echo "<option>$y</option>"; } echo "</select></td><td>Active</td></tr>"; ?>'); 
    $(".createSave").button({ 
     icons: { 
      primary: "ui-icon-disk" 
     } 
    }); 
}); 
1

に見えますが、その後、新しく作成したボタンに対して再度実行します。これをやってみてください。この場合、おそらくコンテキストで渡すことができる再利用可能な関数を作成するのが最も簡単です。たとえば、

function makeUIButtons(context) { 
    $(context).find('.save, .createSave').button({ 
     icons: { 
      primary: "ui-icon-disk" 
     } 
    }); 
} 

// update existing buttons on load 
makeUIButtons(document); 

$('#newJudgeLink').click(function(){ 
    $(this).hide(); 
    var $newRow = $('<tr class="altr" id="newCreateRow"><td><button class="createSave">Save</button></td><td><input type="text" id ="createJudgeName" value="Last Name"/></td><td><?php $x = getSections(); echo '<select id="createJudgeSection">'; foreach($x as $y){ echo "<option>$y</option>"; } echo "</select></td><td>Active</td></tr>"; ?>'); 
    // update buttons in our new row 
    makeUIButtons($newRow[0]); 
    $newRow.insertAfter('#tableJudges tr:first'); 
}); 
+0

このようにすることは決して考えていない。いい案。ありがとう! –

1

これ以上少し進んでいないと少し難しいです。あなたが参照できるリンクがありますか?

私はあなたのCSSスタイルシート(インラインではないのですか?:))には、button.createSaveに指定されたスタイルがあります。私が推測して賭けるなら、私はそのCSSセレクターの競合(2つの異なるCSSスタイルがお互いに矛盾している)を賭けるだろう。しかし、チェックして調べるためのURLがあれば、より良い答えを提供することができます。

希望は、これは間違いで...(放火魔とクロムのためにも利用できるFirefoxのデバッグ拡張を、検査

PSを助け、サファリはおそらく同様に匹敵する何かを持っている、IEは、開発者のツールバーを持って働くが、中古典的なマイクロソフトのファッション少しウンキー)

- マット