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")...

接下来,您将在 jQuery 中混入一些原生 dom 的东西。代替

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 回答