2015-09-04 97 views
0

我有一個input列表name和默認情況下隱藏。 我顯示他們顯示基於select價值,我想禁用隱藏的輸入,所以他們不會衝突,當我提交表單。 我該怎麼做?隱藏的輸入不能發送

JS

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#report_type").change(function() { 
      $("#type_wrap > input").hide(); 
      $("#" + $(this).val()).show(); 

     }); 
    }); 
    </script> 

回答

0

input嘗試屬性disabled設置爲true使用.prop("disabled", true)

$(document).ready(function() { 
     $("#report_type").change(function() { 
      $("#type_wrap > input").prop("disabled", true).hide(); 
      $("#" + $(this).val()).show(); 

     }); 
    }); 
+0

如果我把'.prop輸入將不顯示()'之間。 – jhunlio

+0

@jhunlio可以在問題中包含'html'嗎? – guest271314

+0

你的答案正在工作,當我嘗試jsfiddle也許我的jQuery是問題 – jhunlio

1

如果您希望禁用的輸入元素,設置它的disabled屬性true。要重新啓用它,設置它的disabled屬性false

$("#type_wrap > input").hide().prop('disabled', true); 
$("#" + $(this).val()).prop('disabled', false).show(); 

注:瀏覽器是不應該在提交表單時包括殘疾輸入元素的值。 (reference

0

嘗試移除或隱藏元件

刪除

$("#type_wrap > input").remove(); 

禁用

$("#type_wrap > input").prop('disabled', true); 

這會阻止元素提交。

1

你想禁用不可見的輸入?

我在想

$("#type_wrap > input").not("visible").prop("disabled",true) 

但這是簡單

$(function() { 
    $("#report_type").on("change",function() { 
     $("#type_wrap > input").prop("disabled",true).hide(); 
     $("#" + $(this).val()).prop("disabled",false).show(); 
    }); 
});