在我的应用程序中有一个下拉列表它应该被禁用。但是当该下拉列表进行禁用时,该下拉列表的选定值在控制器中显示为null。已禁用的下拉列表我尝试将该下拉列表设为readonly.here是代码如何将该下拉列表设为只读。
$('#IandS').attr("readonly", "readonly");
但问题是,点击该下拉菜单时,该下拉菜单会打开以选择其他选项。 什么是访问禁用下拉列表值的解决方案。 请建议一些解决方案。
答案 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());
});
我希望它对你有帮助。