禁用选择选项不会在数据库中保存值

时间:2016-06-23 08:45:44

标签: javascript c# html asp.net

我有一个Select选项,我通过下面的javascript禁用

document.getElementById('CmbDepartment').disabled = true;

但在禁用之后会发生什么,数据库中的值会保存为0

删除禁用部分后,我的值会正确保存。

  

但我想禁用Select列表。

这是我的Select列表

的HTML
<select id="CmbDepartment" runat="server" style="width: 25%" onchange="FunEmpFill()">
     <option value="0">--Select--</option>
</select>

那么还有其他方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您已将选项值指定为0.然后禁用选择标记,因此它将采用默认选项值。

您可以更改选项值或完全删除。

或者您可以动态地将值分配给select标签并通过JS

选择

  1. $('#CmbDepartment').append($('<option>', {value:1, text:'One'}));
  2. $('#CmbDepartment').append('<option val="1">One</option>');
  3. var option = new Option(text, value); $('#CmbDepartment').append($(option));

答案 1 :(得分:0)

让我提出一个黑客攻击。 我没有禁用选择,而是将样式属性pointer-events设置为none。另外,我添加了opacity: 0.5;以使其看起来已禁用。 这不会阻止select控件与其他表单元素一起提交。

尝试运行下面的代码段。

.disabled {
  pointer-events: none;
  opacity: 0.5;
}
<select>
  <option>Value 1</option>
  <option>Value 2</option>
  <option>Value 2</option>
</select>

<button onClick="document.getElementsByTagName('select')[0].classList.add('disabled');">Disable Select</button>