私は、Razorビューと剣道UI Webコントロールを使用するC#Webアプリケーションを用意しています。コントロールの無効なプロパティを切り替えようとしているときに '未定義の未定義のプロパティ'エラーが発生しました。
function OnChangeC0100(cmb)
{
var stupidJS = document.getElementById("cmbV14_Adm_C0200_RepetitionThreeWords_Tab6");
stupidJS.disabled = (cmb.options[cmb.selectedIndex].value == "0");
}
二行目が実行しようとすると、私はこのエラー
を得る:onchange
プロパティは、このJSメソッドを参照
@(Html.Kendo().DropDownListFor(m => m.MentalStatus).HtmlAttributes(new { id = "cmbMentalStatus", @class = "k-dropdown-width-30", @tabIndex = "1", style = "width:60px", onchange = "OnChangeC0100(cmbMentalStatus);" }).BindTo(ViewBag.ZeroToOne).OptionLabel(" "))
:私のフォームで、私はそうのようにDropDownListコントロールを定義しています
"未定義のプロパティ 'undefined'を読み取れません"
私は間違って何をしていますか?ブレークポイントを設定した場合、cmb
はnull
ではありません。 stupidJS
はnull
ではありません。
this linkの場合、disabled
は設定するプロパティです。それは正確ではないのですか?
編集:私はこれらの質問を見てきました。ここに
How to Get Dropdown's Selected Item's text in Kendo UI?
how to get selected value for Kendo DropDownList
http://www.telerik.com/forums/dropdownlist-getting-clientside-value-on-selected-item-in-mvc
とドキュメント。 http://demos.telerik.com/kendo-ui/dropdownlist/api
しかし、関係なく、私がウォッチウィンドウにしようとするもの、私はそれが仕事を得ることはできません。
最初のものが最も近くなります。少なくとも値は返されますが、正しい値ではありません。私は、テキストと値が両方とも "1"である項目を選択しましたが、空文字列を返します。スクリーンショットには表示されていませんが、$("#cmb").kendoDropDownList().val()
はundefined
となります。どうして私はコントロールへの参照をハードコードするのですか?それはソート・ワークですが、メソッドへのパラメータとして渡されたオブジェクトは機能しません。
_ "' cmb'は 'null'"ではありません "_、それは何ですか?エラーは、 'stupidJS.disabled'ではなく、おそらくそれが何かと関係していることを示しています - プロパティを読み込んでいて、読み込みしようとしているプロパティの名前(' cmb.selectedIndex')とオブジェクト'cmb.options'を読み込もうとしています。これは、' cmb'にこれらのプロパティがないことを示しています。それはあなたの '
@JamesThorpe 'cmb'は、私の記事の冒頭で私のかみそりスニペットで作成されたコントロールです。そして、[このSO投稿](http://stackoverflow.com/questions/1085801/get-selected-value-in-dropdown-list-using-javascript)から、ドロップダウンリストの選択した項目にアクセスする方法がわかりました – sab669