表单提交不在onchange方法中工作

时间:2012-09-29 10:01:03

标签: jquery

我在使用jQuery触发下拉列表的onchange事件时提交表单。

第一次工作,但第二次没有触发onchange事件。它甚至没有进入jQuery脚本。我该如何解决这个问题?如何在onload事件中加载jQuery? 我的Jquery代码:

 $('#statusId').bind('change',function() { 
    alert($(this).val());
    $('#statusHiddenId').val($(this).val());
    $('#layoutFormID').attr('method', 'POST'); 
    $('#layoutFormID').attr('action', '/sample');
    $('#layoutFormID').submit();
});                                                               

HTML CODE:

select(name='status',rel = "external", id='statusId', data-theme='a', data-icon='gear', data-native-menu="false")
     option(value='0') All Status
     option(value='1') New
     option(value='2') Verified
     option(value='3') KYC Completed
     option(value='4') Loan Sanctioned
     option(value='5') Loan Disbursed
     option(value='6') Closed
     option(value='7') Archive

2 个答案:

答案 0 :(得分:0)

试试这个:

将此代码放在javascript函数中,每次都通过onchange调用它。

function MyFunction()
{
    $('#statusHiddenId').val($(this).val());
    $('#layoutFormID').attr('method', 'POST'); 
    $('#layoutFormID').attr('action', '/sample');
    $('#layoutFormID').submit();
}

onchange = MyFunction();

specify onchange function in select box.

答案 1 :(得分:0)

如果您在说onload时表示“文档加载”,则代码为:

$(function(){

    // your code here

});

如果您的脚本正在替换表单内容,则需要将处理程序更远地绑定到链上,如下所示:

(假设您的容器元素的ID为“容器”,

$('#container').on('change', '#statusId', function(event) {

    // your code here

});

这假设你使用的是jQuery 1.7或更高版本。