更改选择onchange上的样式并停止返回原始样式

时间:2017-10-31 11:55:32

标签: javascript jquery css asp.net dopostback

我正在尝试使用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>

3 个答案:

答案 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;那么您需要手动清除它。状态。