2016-10-10 1 views
0

私はクリック可能なメニューとして使用しているASP.NETリピータ要素を持っています。私はどの項目が現在選択されているかを示すためにimg srcを設定するためにjQueryを使用しています。私はうまくいく解決策を持っていますが、jQueryを使用するよりエレガントな方法があるのだろうかと思います...私のソリューションの種類は回避策のように感じます。jQueryを使用してポストバック時にimg srcを設定する

マイHTML:

<div class="c_menuDiv"> 
    <img src="images/check_white.jpg" id="img_check" class="cd_checkImage" width="20px" > 
    <asp:Label ID="lblIssuedTo" runat="server" Text='<%#Bind("IssuedTo")%>'> 
    </asp:Label> 
</div> 

そして、私のjQueryのは、文書対応に:

$('.c_menuDiv').each(function() { 
    issuedToBox = $('#txt_issuedTo').val();   <<== FROM A TEXTBOX 
    issuedToMenu = $(this).children("span").html(); 
    if (issuedToBox == issuedToMenu){ 
     $(this).find('img:first').attr('src','images/check_selected.jpg'); 
     } 
    }) 

私の質問があり、jQueryのを使用し、それはIF文をJS避けるために、よりエレガントな方法はありますか?私はjQueryのスキルを向上させたいからといって、私は尋ねます。

ありがとうございました。

+0

コード? – adeneo

+1

速度や読みやすさで 'if'を打ち負かすものはありません。 jquery内の – Teemu

+0

if文が高速です。心配しないでください。Jqueryも非常に速いです。 –

答えて

1

jQueryを使用しなくても同じことができます。あなたはポストバックの後、他のいくつかのそれを使用する理由は...

<div class="c_menuDiv"> 
    <asp:Image ID="Image1" runat="server" ImageUrl="/images/check_white.jpg" /> 
</div> 

とを持っていない限り、単に変更ImageUrl

Image1.ImageUrl = "/images/check_selected.jpg"; 
おそらくあなたのサーバー側ではなく、生成されたHTMLを投稿することがより参考になる
関連する問題