我目前正在尝试为我的网页更换壁纸。
当我点击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时似乎没有发生任何事情。
有人看到我不能解决的任何问题吗?
非常感谢。
答案 0 :(得分: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');
});
我的策略是在转向真实逻辑之前,使用简单的警报测试事件处理程序。
答案 1 :(得分:1)
你的jQuery声明$('div.bg8'),这需要一个带有类bg8的div,
你没有设置类,而是你的div的id为bg8
将此更改:$('div.bg8')改为$('#bg8')
)