0

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

$('#TBI tr.k-state-selected')[0].cells[0].find("input").val(selectedId).change();

私は実際にKendoUIグリッド上のセルの値を変更しようとしています。しかし、何らかの理由で、.findで「オブジェクトはこのメソッドをサポートしていません」と表示されます。

私がこれを行う場合:

$('#TBI tr.k-state-selected').find("input").val(selectedId).change();

それは私にエラーを与えません(しかし私が望む結果も与えません)。配列要素を取り除くと、構文の観点からは問題ないように見えます。

したがって、私の質問は次のようになります。配列要素が含まれている場合、このような検索を行うにはどうすればよいですか。

4

3 に答える 3

3

私があなたの擬似コードロジックに従うなら、あなたは望むかもしれません

$('#TBI tr.k-state-selected:eq(0) td:eq(0) input').val(selectedId).change();

あれは :

IDTBIの要素でクラスk-state-selectedを持つ最初の行の最初のセルの入力。

于 2012-09-21T15:17:44.513 に答える
1

jQueryオブジェクトではないと思うcell[0]ので、jQueryメソッドを呼び出すことはできません。

もう一度jQueryオブジェクトにラップしてみてください

var $cell = $($('#TBI tr.k-state-selected')[0].cells[0]);

$cell.find("input").val(selectedId).change();

またはもちろん、セレクターを修正して、dystroyの答えのように最初に目的の要素を返すようにすると、再度ラップする手間が省けます。

于 2012-09-21T15:20:31.403 に答える
0

を使用してjavascriptオブジェクトを取得する代わりに、 eqjquery関数を試してjqueryオブジェクトを取得してください[0]

ライブデモ

$('#TBI tr.k-state-selected').eq(0).find("td:eq(0) input").val(selectedId).change();
于 2012-09-21T15:18:23.477 に答える