0

現在、自分のページの壁紙チェンジャーを作成しようとしています。

現時点では、CSS メニューのそれぞれの DIV オプションがクリックされたときに、壁紙の URL をテキスト ボックスに入れたいと思います。

ここに私のJQueryがあります

$("div.bg8").click( function() {
var BackgroundURL = 'Styles/hongkongskyline.jpg'; 
var TheTextBox = document.getElementById('<%=BackgroundsTxt.ClientID%>'); 
TheTextBox.value= BackgroundURL; 
alert('This has worked'); }); 

..そして私のHTML...

 <ul><li class="#cssmenu"><a>
  <div id="bg8" runat="server">
    <table style="height: 16px; width:33%;"> 
     <tr>
     <td>
     <img src='Styles/hongkongskyline.jpg' width="34px" height="32px" /></td>  <td>Hong Kong Skyline                                                                                       </td> 
     </tr> 
    </table>
   </div>
</a></li></ul>

残念ながら、DIVをクリックしても何も起こらないようです..

誰かが私ができない問題を見ていますか?

どうもありがとう。

4

2 に答える 2

2

ここにいくつかの問題があります。

まず、jQuery で div の ID を参照しているのではなく、bg8 というクラスを参照しています。これを試して:

$("#bg8")...

次に、いくつかのネイティブ DOM を jQuery に混ぜます。それ以外の

document.getElementById('<%=BackgroundsTxt.ClientID%>'); 

試す

$("#<%=BackgroundsTxt.ClientID%>");

ページのソースを見て、ID が解決されていることを確認します。

最後に、テキストボックスの値を設定するには:

theTextBox.val(BackgroundURL);

あなたの機能全体が

$("#bg8").click( function() {
    $("#<%=BackgroundsTxt.ClientID%>").val('Styles/hongkongskyline.jpg'); 
    alert('This has worked');
}); 

私の戦略は、実際のロジックに移る前に、単純なアラートでイベント ハンドラーをテストすることです。

于 2013-01-09T17:54:29.807 に答える
1

あなたのjQueryは $('div.bg8') と述べています。これは、クラスbg8のdivを呼び出します。

クラスを設定していませんが、divのIDをbg8として設定しています

これを変更します: $('div.bg8') を $('#bg8') に変更します

;)

于 2013-01-09T17:53:53.187 に答える