jquery验证无法处理HTML select标记

时间:2016-03-10 08:56:40

标签: javascript jquery html

我之前使用过这个jquery验证,之前从未遇到过问题。但在这个特殊情况下,验证没有完成。即使未选择选项,submithandler中的ajax代码也能正常工作。这个jquery插件在同一页面上以另一种形式工作正常。我复制粘贴在该表单上的这个下拉列表,它工作。使用此插件时还有其他事项要记住吗?或者是语法错误?

<table>
        <hr>
            <form  id="statuschange" class="reg-page" >
                <tr style="width:100%"> 
                    <td style="width:20%">                                                          
                        <strong>Change Status:</strong>
                    </td>
                    <td style="width:10%"></td>                                         
                    <td style="width:50%">
                        <div class="input-group margin-bottom-20">
                            <span class="input-group-addon"><i class="fa fa-gear"></i></span>
                            <input type="hidden" id="hiddenid" name="hiddenid" value={{.LeadId}}>
                            <select id="changeprocess" name="changeprocess" class="form-control">
                                <option disabled selected>Choose Process</option>
                                {{range .Process}}
                                    <option value="{{.}}">{{.}}</option>
                                {{end}} 
                            </select>
                        </div>                                                                      
                    </td>
                    <td style="width:20%">                                                          
                        <button class="btn-u btn-block pull-right" type="submit">Change</button>
                    </td>                                                                                                   
                </tr>
            </form>
        </table>

我的javascript如下: -

$("#statuschange").validate({
            rules: {
                changeprocess:"required"                    
            },
            messages: {
                changeprocess: "Please choose from dropdown"
            },
            submitHandler: function(){
                 $.ajax({
                    url: '/changestatus',
                    type: 'post',
                    dataType: 'html',
                    data : { changeprocess: $('#changeprocess').val(),hiddenid: $('#hiddenid').val()},
                    success : function(data) {
                        location.reload();
                    }
                });
            }
        });

3 个答案:

答案 0 :(得分:1)

由于您没有使用默认选项的value属性,因此将其文本视为其值

<option value="" disabled selected>Choose Process</option>

答案 1 :(得分:1)

使用必需。

B& b

答案 2 :(得分:1)

在我看来,问题是标记的结构,这在某种程度上是无效的。由于Sub FindMissingDates() Dim FirstDate As Date Dim LastDate As Date Dim NextDate As Date Dim DateOffset As Range Dim DateIter As Date FirstDate = Range("J2").Value LastDate = Range("K2").Value Set DateOffset = Range("M2") For DateIter = FirstDate To LastDate DateOffset.Value = DateIter Set DateOffset = DateOffset.Offset(0, 1) Next DateIter End Sub 元素不能table作为hr/form以外的直接子项。

因此,您可以将tbody放在table元素中。

form