在选择更改时提交表单

时间:2014-07-09 11:10:31

标签: javascript jquery html

这是我的代码:http://jsfiddle.net/47apf/

它应该在选择更改时提交表单,但它不会做任何事情

$(function() {
    $('#candidate_filter').change(function() {
        this.form.submit();
    });
});

任何人都可以解释为什么这段代码不起作用?

7 个答案:

答案 0 :(得分:5)

嗯,在这种情况下你不需要.form

$(function() {
  $('#candidate_filter').change(function() {
    this.submit();
  });
});

答案 1 :(得分:4)

此处,this本身就是表格。

写下这个:

$('#candidate_filter').change(function() {
    $(this).trigger('submit');
});

此处更新了fiddle

答案 2 :(得分:3)

试试这个

$('#candidate_filter').change(function() {
        //alert("hii");
        this.submit();
    });

小提琴: fiddle

答案 3 :(得分:1)

您需要指定下拉列表ID,如下所示:

    <form id="candidate_filter">
    <select name="vacancy" id="candidate_filter1">
    <option value="all">Any Vacancy</option>
    <option value="1">Engineering lk;lk;</option>
    </select>
    <select name="status" id="candidate_filter2">
    <option value="all">Any Status</option>
    <option value="open">Open for applications</option>
    <option value="closed">Closed for applications</option>
    <option value="inactive">Inactive</option>
    </select>
    <select name="date">
    <option value="all">Any Date</option>
    <option value="today">Today</option>
    <option value="3">3 days</option>
    <option value="7">This week</option>
    </select>
    <select name="consideration" id="candidate_filter3">
    <option value="all">Any Consideration</option>
    <option value="qualified">Qualified</option>
    <option value="rejected">Rejected</option>
    </select>
    <input type="submit">
    </form>

JS

    $(function() {
        $('select[id^="candidate_filter"]').change(function() {
            this.form.submit();
        });
    });

DEMO

答案 4 :(得分:1)

您必须提交以下表单:$('#candidate_filter').submit();

这是一个有效的JSFiddle:http://jsfiddle.net/47apf/5/

JQuery

$(function() {
    $('#candidate_filter').change(function() {
        alert("change event catched");
         $('#candidate_filter').submit();
    });
});

答案 5 :(得分:1)

你可以在jQuery中这样做。

选择上添加课程,并将事件 onchange

绑定
 $('.candidateList').on('change', function(evt){
    $('#candidate_filter').submit();
});

http://jsfiddle.net/darksioul/4ygAg/2/

答案 6 :(得分:1)

尝试:

$(function() {
    $('#candidate_filter select[name="vacancy"]').change(function() {
        $('#candidate_filter').submit();
    });
});

在jQuery选择器中, this 字引用DOM上的选定元素,在原始代码中,$(&#39;#candidate_filter&#39;)表示FORM元素。添加第二个引用可以更好地处理您想要的内容$(&#39; #candidate_filter选择[name =&#34;空缺&#34;]&#39;)。要提交表单,您需要特别指出FORM元素。