如何传递所选下拉选项的值,但该下拉列表已禁用

时间:2016-08-31 11:23:30

标签: javascript jquery

在我的应用程序中有一个下拉列表它应该被禁用。但是当该下拉列表进行禁用时,该下拉列表的选定值在控制器中显示为null。已禁用的下拉列表我尝试将该下拉列表设为readonly.here是代码如何将该下拉列表设为只读。

$('#IandS').attr("readonly", "readonly");

但问题是,点击该下拉菜单时,该下拉菜单会打开以选择其他选项。 什么是访问禁用下拉列表值的解决方案。 请建议一些解决方案。

2 个答案:

答案 0 :(得分:0)

无论<select>是否被禁用,您都应该能够访问所有DOM元素。我认为您直接从<select>获取值,但如果select被禁用,则它没有任何值!这是因为它返回null。要获取<option>标记,您可以执行以下操作:

$('#IandS').find('option').each(function() {
    console.log("Text: "+ $(this).text()+" -- Value: "+ $(this).val());
});

答案 1 :(得分:0)

  

Form的禁用输入永远不会使用Form

提交

寻求解决方案 你可以做隐藏的领域。并且您可以将隐藏字段中的选定值设置为值。

1)如果在服务器端需要隐藏字段,请保留名称。

2)从下拉列表中删除名称属性。

3)在javascript中添加以下代码,将更改后的值应用到隐藏字段

$('#IandS').change(function(){
   $('#hidden_field_id').val($(this).val());
});

我希望它对你有帮助。