0

グリッドがあり、JavaScript を使用してその ID で選択された行の html を取得しています。

var parentRow1 = document.getElementById('__' + parentrowid).innerHTML; 

これにより、次の html が返されます。

<td class="rgExpandCol">
<img title="Expand" onclick="$find(&quot;&quot;)._toggleExpand(this, event); return false;" 
src=" style="border-width:0px;"></td><td>TEST</td><td>my details</td><td>1</td><td>01/06/2011</td>
<td>198307</td>
<td>&nbsp;</td>
<td>
<span id="lblDCount">2</span>
</td>
<td>
<span id="lblUCount">1</span>
</td>
<td>
<input name="$btn" id="btn">
</td>

この部分を取得する方法はありますか(数値カウントは静的ではありません)、数値を取得してから1つ減算します:

<span id="lblUCount">1</span>

したがって、最終結果<span id="lblUCount">0</span>は 2 の次に 1 のようになります。

4

4 に答える 4

5

スパン自体には があるためid、最初に行から何かを取得する必要はありません。

var lblUCount = $("#lblUCount");
lblUCount.text(parseInt(lblUCount.text(), 10) - 1);

ただし、複数の行があるため、そのコピーが複数あると思われspanます。私が正しければ、id値はページ上で一意でなければならないため、HTML は無効です。だから私はそれを変更して、代わりにそれらのスパンクラスを与えるようにします:

<span class="lblUCount">1</span>

...つまり、行から始めて、それを見つけるために使用する必要があります:find

var lblUCount = $('#__' + parentrowid).find('.lblUCount');
lblUCount.text(parseInt(lblUCount.text(), 10) - 1);

ここでは$、ID セレクターを使用して行を取得し、次にfindクラス セレクターを使用しlblUCountて行内のスパンを見つけています。次にtext、セルのテキストを取得し、parseIntそれを数値に変換してから、textもう一度セルの新しいテキストを設定します。

于 2013-01-03T10:42:07.483 に答える
2

これは、知る限り最も簡単なソリューションです。.text()これは、元のテキストを指定された関数に渡し、戻り値を要素に再挿入する「関数」パラメーター バージョンに依存しています。

$('#lblUCount').text(function(idx, text) {
    return parseInt(text, 10) - 1;
});
于 2013-01-03T10:42:27.993 に答える
2

これを試して

var count=$('#__' + parentrowid).find('#lblUCount').text();

var finalCount=parseInt(count) -1 ;

更新しました

それを元に戻すには..

$('#__' + parentrowid).find('#lblUCount').text(finalCount);
于 2013-01-03T10:44:12.877 に答える
0

次のようにjQueryでそれを行うことができます:

var $el = $('#lblUCount'), 
          val = parseInt($el.text());
val--;
$el.text(val);
于 2013-01-03T10:44:14.423 に答える