在一种形式中,我需要忽略select / option下拉元素的serialization,因为我需要将一个单独的事件挂接到它。由于整个表单都保存在开头,因此如何忽略某些元素,例如select / option下拉列表?

我试过了:
$('#form').not('#signup,#idGarage').data('serialize',$('#form').serialize());
它没有作用。

这是代码:

<form>
.
.
.
<div class="input">

   <label for="signup">Name</label>
   <select id="signup" class="signup" name="signupId" data-placeholder="Select">
        <option value="Cars">Cars</option>
        <option value="Cars">Bikes</option>
        <option value="Cars">Trucks</option>
   </select>

   <input type="hidden" name="signupId" id="idGarage" value="{$idGarage.id}">

   <a href="" title="" class="send-garage-invite">Send</a>
</div>
.
.
.
</form>




$('#form').data('serialize',$('#form').serialize()); // On load save form current state

$(window).bind('beforeunload', function(e){
   if($('#form').serialize()!=$('#form').data('serialize')){
      return true;
   }
   else  e=null; // i.e; if form state change show warning box, else don't show it.
 });

最佳答案

您不必序列化整个表格。在选择器中,选择要序列化的元素。

$('form').data('serialize', $('form input:not([type="hidden"])').serialize());

09-10 10:57
查看更多