我正在尝试使用javascript或jQuery在选择中的onchange="javascript:setTimeout
之后添加一个类或更改css到一个范围。我遇到的问题是,在用户更改表单后,它会将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>
答案 0 :(得分:0)
css更新信息(在下拉列表选择更改之后)必须存储在数据库中,后端人员应该更改span的类(或者使用服务器端技术(如.net)将样式添加到span中是你正在使用的)取决于数据库中存储的信息
答案 1 :(得分:0)
因此,请咨询后端人员以处理背景颜色变化,例如在span元素中添加一个类,我们可以在其中制作背景颜色信息!重要的是使它优先。所以你需要在使用的css文件中创建这样一个类,并给出要添加到span元素的类的名称,以便后续页面加载到后端人员处理.net或者服务器端
因此,以这种方式将有两个类用于跨度 class =“formlabel your_class'
答案 2 :(得分:0)
根据您的约束,您可以通过网络存储API使用sessionStorage对象来保存页面帖子/重新加载的当前颜色值:
https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
需要注意的是,如果表格是第二次使用并且需要一个新的&#39;那么您需要手动清除它。状态。