我的div元素标题有问题。以下是我的div元素:
<div id="sampleDiv" runat="server" class="exStyle" onclick="return div_Click(this);" title="any"></div>
以下是我的javascript:
function div_Click(btn) {
if (btn.title == "any") {
btn.title = "on";
btn.style.background = "url('sample1.png')";
}
else if (btn.title == "on") {
btn.title = "off";
btn.style.background = "url('sample2.png')";
}
else if (btn.title == "off") {
btn.title = "any";
btn.style.background = "url('sample3.png')";
}
return false;
}
并且在从客户端将标题更改为“on”或“off”之后,来自c#代码的Attributes["title"]
的值仍为“any”!!任何帮助人员......
答案 0 :(得分:2)
你想做什么?由于title属性,因此永远不会将其发回服务器。仅将输入元素发回服务器。因此,您无法获得更改的值。
要绕过此限制,您必须使用runat服务器标记添加hiddenfield。在发布之前将隐藏字段值更新为div标题,并使用hiddenfield恢复代码中的值。值。
希望这很清楚。
答案 1 :(得分:1)
试试这个,这会对你有帮助
$('#sampleDiv').click(function() {
if ($(this).prop('title') == "any") {
$(this).prop('title',"on");
$(this).prop('background,url(sample1.png)');
}
else if ($(this).prop('title') == "on") {
$(this).prop('title',"off");
$(this).prop('background,url(sample2.png)');
}
else if ($(this).prop('title') == "off") {
$(this).prop('title',"any");
$(this).prop('background,url(sample3.png)');
}
});
小提琴Here
答案 2 :(得分:1)
最好在这里使用switch语句。如果有匹配则会中断
function div_Click(btn) {
btn=$(btn);
switch(btn.attr('title'))
{
case 'any':
btn.attr('title','on');
btn.css('background','url(sample1.png)');
break;
case 'on':
btn.attr('title','off');
btn.css('background','url(sample2.png)');
break;
case 'off':
btn.attr('title','on');
btn.css('background','url(sample3.png)');
break;
default:
//default code if no match
}
}