3

javascript で一部のコントロールの背景色を変更する必要があります。DropDownList と ComboBox の方法を見つけましたが、 DatePicker については何も見つかりませんか? 奇妙なのは、同じ要素にアクセスできるコントロールがないように見えるため、標準的な方法がないことです。たとえば、ドロップダウンリストで必要なことを行うには、「スパン」にアクセスします。

$("#myDropDown").data("kendoDropDownList").span.css("background-color", "#BDD1FF");

コンボボックスを使用している間、「入力」要素にアクセスできます:

$("#myComboBox").data("kendoComboBox").input.css("background-color", "#BDD1FF");

しかし、これらはいずれも kendoDatePicker では機能しません。誰でも道を知っていますか?css に (JQuery のように) 直接アクセスしようとしましたが、うまくいきませんでした。

編集:フォームのすべてではなく、いくつかのコントロールのみを変更する必要があります。そのため、剣道の CSS をオーバーライドすることはできません。また、ビュー モデルが編集モードの場合にのみ、この背景を適用する必要があります。したがって、クラスを切り替えることができる必要があります。そのため、JavaScript を考えています。

4

2 に答える 2

7

簡単な方法は、色を適用するための独自の CSS を定義することです。次のように、単一のコマンドで実行できます。

.k-input {
    background: #BDD1FF !important;
}

次に、それを使用するために特別なことをする必要はありません。

$("#myKendoDropDown").kendoDropDownList().data("kendoDropDownList");
$("#myComboBox").kendoComboBox({}).data("kendoComboBox");
$("#myDate").kendoDatePicker({});

いくつかの質問に注意することが重要です。

  1. background-colorKendoUI では背景画像やその他の背景属性も使用するため、単純に定義することはできず、すべて上書きする必要があります。
  2. !importantの事後定義を上書きしたいので、実際には重要です background

例: http://jsfiddle.net/OnaBai/Nxv3B/

編集:どの要素を制御できるようにプログラムで実行したい場合は、実行する必要があります。

var dd1 = $("#myKendoDropDown1").kendoDropDownList().data("kendoDropDownList");

ウィジェットを作成してからスタイリングを適用するには:

dd1.wrapper.find(".k-input").css("background", "#BDD1FF");

ここでフィドル修飾子を参照してください: http://jsfiddle.net/OnaBai/Nxv3B/5/

于 2013-09-19T00:34:08.317 に答える
0

上記のようにしようとする代わりに、Kendo DropDownList であることを心配しないでください。問題は、ほとんどの場合、Document.Ready ではウィジェットがまだ準備できていないことです。したがって、読み込まれるまでは、ページ上の通常の要素であるかのように扱ってください。これにより、多くの時間を節約できます。

$("#myKendoDropDown1").css("width", 220);

このソリューションは background-color では機能しませんが、他の CSS では機能するため、これはこの投稿に対する正しい答えではありません。

于 2014-06-11T20:58:26.920 に答える