【发布时间】:2018-04-12 14:05:13
【问题描述】:
我正在尝试使用 javascript 或 jQuery 添加类或将 css 更改为 select 中 onchange="javascript:setTimeout 之后的跨度。我遇到的问题是,在用户更改表单后,它会更改 css 一秒钟然后消失。我怎样才能让css保持在原地?它似乎会自动刷新并返回原始样式。
js:
$("select").change(function() {
$(this).closest('div').find('span').css("background-color", "yellow");
});
html:
<div id="ctl00_MainContent_ipcResMakePax_ipcPaxBox_rptTravellers_ctl01_pnlDateOfBirth" class="formlistitem">
<span id="ctl00_MainContent_ipcResMakePax_ipcPaxBox_rptTravellers_ctl01_lblDateOfBirth" class="formlabel">Date of birth</span>
<br>
<select name="ctl00$MainContent$ipcResMakePax$ipcPaxBox$rptTravellers$ctl01$ddlDateOfBirthDay" onchange="javascript:setTimeout('__doPostBack(\'ctl00$MainContent$ipcResMakePax$ipcPaxBox$rptTravellers$ctl01$ddlDateOfBirthDay\',\'\')', 0)" id="ctl00_MainContent_ipcResMakePax_ipcPaxBox_rptTravellers_ctl01_ddlDateOfBirthDay"
class="selectday">
</select>
</div>
【问题讨论】:
-
__doPostBack() 在做什么?它不会重新加载页面吗?
-
可能,但我不知道如何找到
-
__doPostBack导致页面刷新,为什么样式的变化消失了。尝试使用 ajax 而不是完全回发。如果您不需要回发,请将其删除,样式将保留。 -
我不能修改原始的html,我只能在上面添加代码。该网站受框架保护,我正在使用可视化网络优化器。无论如何要保留回调,然后在刷新页面后添加样式?
标签: javascript jquery css asp.net dopostback