【问题标题】:How to send the selected value of jQuery select after I have disabled it? [duplicate]禁用后如何发送jQuery select的选定值? [复制]
【发布时间】:2013-05-17 09:12:04
【问题描述】:

我有一个 jQuery 选择选项,我必须在其中冻结(禁用)任何更改。但是当我这样做时

 $(this).attr('disable', true);

选择冻结,但它发送的值为 null,因为其中没有任何选择。如何冻结并仍然发送选定的值?

【问题讨论】:

  • 您可以添加一个具有相同名称和值的隐藏字段。
  • @AnkitJaiswal 只要确保使用数组名称,例如<input type="hidden" name="values[]" value="..."/> 如果您要设置多个具有相同名称的输入。
  • 但是在你冻结它之后,价值就丢失了。问题是如何保留这些值?
  • 在你的表单中设置一个隐藏的输入和一个函数.onchange(...) 来用你选择的值改变那个输入的值
  • 只是一个建议:从 jQuery 1.6 开始,应该使用 .prop() 方法来设置禁用和检查,而不是 .attr() 方法。

标签: jquery


【解决方案1】:

您不能将disabled 输入字段传递给发布。使用readonlyhidden 字段或将此select 样式设置为display:none

最好使用readonly

【讨论】:

    【解决方案2】:

    您可以在提交之前再次启用该元素。

    $('#myForm').submit(function() {
    
      $(this).find(':input:disabled') // Find disabled form elements within the form
        .prop('disabled', false); // Enable elements
    
    });
    

    【讨论】:

      猜你喜欢
      • 2019-06-03
      • 2014-08-12
      • 2016-07-07
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 2018-12-11
      相关资源
      最近更新 更多