jquery ajax:从表单中提交选定的值

时间:2013-09-28 17:39:03

标签: asp.net-mvc jquery

  

我有一个这样的表单,我需要提交所有值   形式除了那些 class =“noDisplay”的形式。把它传递给   控制器并将值更新为“pd-price”。一切正常,只是我找不到忽略noDisplay值来提交表单的方法。

     <div class="cart">
                        <strong>
                            <span class="pd-price">80.407.000đ</span>
                        </strong>

       </div>     


  <form method="post" id="product-details-form" action="xxx">
        <ul>
     <li class="showImg-target noDisplay">
        <input type="radio"  name="product_attribute_46_3_113"> [+3.870.000]
     </li>
     <li class="showImgtarget">
<input type="radio" name="product_attribute_46_4_113">[+1.000.000]</li>

   <li  class="showImgtarget noDisplay">
<input type="radio"  name="product_attribute_46_5_113">[-1.500.000]</li>
    <li  class="showImgtarget noDisplay">
<input type="radio"  name="product_attribute_46_6_113"></li>

                            ..... a lot more 

                                   </ul>
                        </form>


 <script type="text/javascript">
      $(function () {
         updateStatus();
         $('*[name^=product_attribute]').change(function () {
         updateStatus();
         });

       function updateStatus() {
         $.ajax({
                  cache: false,
                  url: '/Catalog/UpdateProductStatus',
                  data: $('#product-details-form').serialize(),
                 type: 'post',
                 success: function (data) {
                 $('.summary-info').html(data.View);
                 $('.pd-price').html(data.Price);
                  $('.powered-icon').replaceWith(data.Pictures);
                        }
                                            });
                                        }
                                    });
                                </script>

1 个答案:

答案 0 :(得分:1)

您可以使用:not()选择器:

$('#product-details-form li:not(.noDisplay) :input').serialize();