これは私のマークアップです
<tr class="t-detail-row">
<td class="t-hierarchy-cell"></td>
<td class="t-detail-cell" colspan="5"></td>
</tr>
クラスt-detail-rowのtrを見つけて、クラスt-hierarchyの子tdを削除したい-cellおよびtdのcolspanをクラスt-detail-cellで変更
私はこのようなことを試みました
var newcolspan = $(e.row).find('.t-detail-row').children('td.t-detail-cell').attr('colspan');
$(e.row).find('.t-detail-row').children('td.t-hierarchy-cell').remove()
.children('td.t-detail-cell').attr('colspan',newcolspan+1);
どんな助けでも大歓迎です。
状況に関するより具体的な詳細
私が達成したいのはすべてです。 Telerik MVCグリッドを展開すると、このマークアップが詳細行に表示されます
<tr class="t-detail-row">
<td class="t-hierarchy-cell"></td>
<td class="t-detail-cell" colspan="5"></td>
</tr>
削除したい<td class="t-hierarchy-cell"></td>
初期化。
マークアップを取得します
<tr class="t-detail-row">
<td class="t-detail-cell" colspan="Current+1"></td>
</tr>
このために私はこのようなことをするのに
グリッド展開イベントで、jquery関数を呼び出すことができる場合は、グリッドを展開するまで詳細行マークアップが生成されないためです。
function onExpandingtheGrid(){
$('tr.t-detail-row').find('td.t-hierarchy-cell').remove();
$('tr.t-detail-row').find('td.t-detail-cell').attr('colspan',newcolspan+1);
}
ありがとう
ソリューション
.ClientEvents(exp => exp.OnDetailViewExpand("onExpandingtheGrid"))
上記のjquery関数yahooで述べたように休憩してください!
別々の機能でその:
$('tr.t-detail-row').find('td.t-hierarchy-cell').remove();
$('tr.t-detail-row').find('td.t-detail-cell').attr('colspan',newcolspan+1);
この場合、クリックなどにターゲット行を使用しようとしているように見えるため、findを使用しました。その場合は、trセレクターをターゲットに置き換えてください。
これを試して:
$('tr.t-detail-row td.t-hierarchy-cell').remove();
$('tr.t-detail-row td.t-detail-cell').attr('colspan', X); // replace X with desired colspan value