jquery datepicker不使用.serialize()发送数据来填充网格

pau*_*aul 0 jquery serialization datepicker submit jqgrid

我有一个表单,其中包含2个输入类型="文本",1个组合框和其他包含(组合框包含等于,之后,之前和之间的运算符+开始日期(jquery datepicker)+结束日期(jquery日期选择器)但是当我是使用.serialize()将数据发送到服务器,并使用url将其附加日期参数.

我的方法:

$("form#transactionForm").submit(function() {
    var newUrl = "/cpsb/transactionHistory.do?method=getTransactionHistoryDetails&" +
                 $(this).serialize();

    $("#transactionHistory").jqGrid(
        "setGridParam",
        {"url": newUrl, datatype:"json"}).trigger("reloadGrid");
    return false;
});
Run Code Online (Sandbox Code Playgroud)

标记:

<form class="transform" id="transactionForm" method="post" action="">
    <fieldset class="ui-widget ui-widget-content ui-corner-all">
        <legend class="ui-widget ui-widget-header ui-corner-all">Transaction History</legend>
        <p>
            <label for="lpn">LPN</label>
            <input id="lpn" name="lpn"/>
        </p>
        <p>
            <label for="sku">SKU</label>
            <input id="sku" name="sku" class="skui ui-widget-content" />
        </p>
        <p>
            <label for="ttype">Transaction Type:</label>
            <select id="ttype" name="tranType" >
            <option value="">Select transaction type</option>
            <option value="100">100-Receipt</option>
            <option value="110">110-Shipment</option>
            <option value="120">120-Pallet Update</option>
            </select>
        </p>
        <p>
            <label for="tdate">Transaction date:</label>
            <select id="tdate" name="date">
                <option value="equalsDate">Equal</option>
                <option>Between</option>
                <option value="beforeDate">Before</option>
                <option value="afterDate">After</option>
            </select>
            <input id="sdate" type="text"  style="width:70px"/>
            <input id="edate" type="text"  style="width:70px"/>
        </p>
        <p>
            <button class="submit" type="submit">Search</button>
        </p>
    </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

Ole*_*leg 6

问题很简单.如果你想使输入与IDS字段"sdate",并"edate"已经datepicker将名下进行序列化startDateendDate你必须从改变你的HTML代码

<input id="sdate" type="text"  style="width:70px"/>
<input id="edate" type="text"  style="width:70px"/>
Run Code Online (Sandbox Code Playgroud)

<input id="sdate" name="startDate" type="text" style="width:70px"/>
<input id="edate" name="endDate"   type="text" style="width:70px"/>
Run Code Online (Sandbox Code Playgroud)

该函数jQuery.serialize()仅序列化具有name属性的元素.所有你<select>拥有name的属性,使他们被序列化.