0

jqueryで次の要素を見つける方法、次のコードがあります

<div>
 <input id="btn<%# Eval("Id") %>" type="button" value="fetch"/>
</div>
<div>
 <img id="imgLoading<%# Eval("Id") %>" style="width: 200px;height: 10px; display: none" src="/Images/Loading.gif" />
</div>
<div id="divData<%# Eval("Id") %>"></div>

注:ここに私の「imgLoading [Binding ID]」とdivData [bindingID]があるので、私のIDが同じではないたびに、それらはすべてのアイテムで異なります

私がやっていることは、ボタンをクリックすると画像が表示され(画像は読み込みが開始されたことを示すgifです)、 $ajax -webmethod を呼び出して div にデータを読み込み、データが読み込まれると画像を非表示にします

ボタンをクリックしてdiv要素にデータを追加するときに画像を非表示にしたい

前もって感謝します

4

4 に答える 4

1

これを試して:

$("input[type=button]").click(function() {
    var img = $(this).closest("#imgLoading").show();
    var div = $(this).closest("#divData");

    $.ajax({
      url: ...
      success: function(data) {
        $(img).hide();
        $(div).html(data);
      }
    });
});

また、selector( doc ) で開始を使用することもできます。

$('input[id^=btn]').click(...)
于 2012-10-23T11:48:43.153 に答える
0
$("input[type='button']").click(function () {
    $(this).closest('div').next('div');    // next div., containing the img 
                                           // element with id imgLoading....
})

必要に応じて、適切な id/class/attribute/tag セレクターを使用してください。

ライブJSFiddle デモ

多分あなたはこのようなことを試すことができます-

<div>
    <input id="btn<%# Eval("Id") %>" type="button" value="fetch"/>
</div>
<script type="text/javascript">
    $(document).ready( function () {
        $('input#btn<%# Eval("Id") %>').click(function () {
            var nextDiv = $(this).closest('div').next('div');

            // do whatever you want with this div here
        }); 
    });
</script>
<div>
     <img id="imgLoading<%# Eval("Id") %>" style="width: 200px;height: 10px; display: none" src="/Images/Loading.gif" />
</div>
<div id="divData<%# Eval("Id") %>"></div>

上記のコードが醜いことは認めざるを得ません。JS コードと html を混在させたくない場合は、このコードを外部の JS ファイルに移動できますが、input type="button"要素に特定の ID を確保する必要があります。

于 2012-10-23T11:48:54.750 に答える