javascript - JQuery serializeArray 提供一个名为 query 的附加值

标签 javascript jquery

这是我的 HTML 代码:

<form onSubmit="return false;" id="patientReferConsultant">
    <div class="portlet box blue-hoki">
        <div class="portlet-title">
            <div class="caption">Refer Consultant </div>
        </div>
        <div class="portlet-body">
            <div class="row">
                <div class="col-md-4">
                    <span for="referDoctorSpecialist" class="help-block">Specialist (Area of Practice)</span>
                    <select class="bs-select form-control" data-style="blue" id="referDoctorSpecialist" name="referDoctorSpecialist">
                        <option selected disabled value="">Select Specialist</option>
                        @if(isset($types))
                            @foreach($types as $type)
                                <option value="{{ $type['_id'] }}">{{ ucwords($type['type']) }}</option>
                            @endforeach
                            @else
                                <option value="">No Types Found</option>
                        @endif
                    </select>
                </div>
            </div>
            <br>
            <div class="row">
                <div class="col-md-4">
                    <span for="referDoctor" class="help-block">Select Consultant / Doctor</span>
                    {{-- <select class="bs-select form-control" id="referDoctor" data-style="blue" data-title="Select Consultant/Doctor" name="referDoctor"> --}}
                    <select class="form-control" id="referDoctor" name="referDoctor">
                        <option selected disabled value="">Select Consultant / Doctor</option>
                    </select>
                </div>
            </div>
            <br>
            <div class="row">
                <div class="col-md-4">
                    <span class="help-block">Select Clinic / Hospital (Optional)</span>
                    <select class="bs-select form-control" data-style="blue" id="referClinic" name="referClinic">
                        <option selected disabled value="">Select Clinic</option>
                        @if(isset($clinics))
                            @foreach($clinics as $clinic)
                                <option value="{{ $clinic['_id'] }}">
                                    {{ ucwords($clinic['clinic_name']) }}
                                </option>
                            @endforeach
                            @else
                        @endif
                    </select>
                </div>
            </div>
            {{--Notes--}}
            <div class="row">
                <div style="margin-top: 20px;"></div>
                <div class="col-md-4">
                    <div class="form-group form-md-line-input form-md-floating-label">
                        <textarea id="referNotes" name="referNotes" class="form-control" rows="3"></textarea>
                        <label for="form_control_1">Notes (if any)</label>
                        <span class="help-block">Additional Notes...</span>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-md-4 col-xs-12 col-xs-12">
                    <div class="clearfix">
                        <div class="mt-35">
                            <div class="col-sm-6 col-xs-6 nopad">
                                <button id="btnSubmitPatientReferConsultant" class="btn green-meadow btn-circle fwb">
                                    <i class="fa fa-check"></i> Display on prescription
                                </button>
                            </div>
                            <div class="col-sm-6 col-xs-6 nopad">
                                <button id="cancel" type="button" class="btn btn-outline dark btn-circle fwb"> <i class="fa fa-close"></i> Cancel</button>
                            </div>
                        <div class="clearfix"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</form>

这是我正在执行的 Jquery 代码:

var data = $('form').serializeArray();
console.log(data);

我得到以下输出:

(5) [{…}, {…}, {…}, {…}, {…}]
0:{name: "query", value: ""}
1:{name: "referDoctorSpecialist", value: "59d53743d9b2508325ceaf41"}
2:{name: "referDoctor", value: "59d537f9d9b2508325ceaff6"}
3:{name: "referClinic", value: "59d7a9046c73d4c582ae1e88"}
4:{name: "referNotes", value: "asdasdasd"}
length:5
__proto__:Array(0)

我不知道查询参数在哪里自动出现,如何删除它? 每当我使用上面的 jquery 代码时, array[0] 中的第一个值都会给我查询最糟糕的事情,即该页面中没有更多的输入字段。那么查询在哪里自动生成呢?

最佳答案

how to remove this?

jQuery 可以序列化元素集合而不是表单。因此,您可以选择表单中除名为 query 的那个之外的所有 :input

var data = $("form :input:not([name=query])").serializeArray();
console.log(data);

或者使用 != 属性选择器而不是 :not() 进行相同的操作。

var data = $("form :input[name!=query]").serializeArray();
console.log(data);

关于javascript - JQuery serializeArray 提供一个名为 query 的附加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46670730/

相关文章:

javascript - 检查数组的更多元素是否具有相同的 key 值,是否删除了一个?

javascript - 元素变为可见时的 jQuery

javascript - 转换所有数字,排除特定类别

jquery - 剑道网格 : Delete button without X icon

ajax - 使用 ajax 元素链接到另一个页面

jquery - 使用 jQuery 选择当前 div 的第一张图像

jquery - Bootstrap - 在文档准备好时显示弹出窗口

javascript - 如何从一个对象数组中提取所有可能匹配的对象数组?

javascript - 如果正则表达式中 $ 之后出现字符,性能会降低

javascript - 如何添加或包装每个标签和 div?