Javascript 当选择选项更改无法正常工作时触发单击按钮

Javascript 当选择选项更改无法正常工作时触发单击按钮,javascript,jquery,html,Javascript,Jquery,Html,我有以下代码可以在状态更改时触发单击按钮: $('#selectstate').on('change', function(){ $("[name='update']:submit").trigger("click"); }); 它工作正常,但问题是我必须准确地单击列表的箭头,如下所示。如果我点击空白以显示列表,按钮将自动触发。有什么解决办法吗 示例HTML代码: 我想你可以简单地提交你的表格 var yourForm = document.forms["update"]; // y

我有以下代码可以在状态更改时触发单击按钮:

$('#selectstate').on('change', function(){
    $("[name='update']:submit").trigger("click");
});
它工作正常,但问题是我必须准确地单击列表的箭头,如下所示。如果我点击空白以显示列表,按钮将自动触发。有什么解决办法吗

示例HTML代码:


我想你可以简单地提交你的表格

var yourForm = document.forms["update"];  // your form name is "update"
yourForm.submit();
如果确实希望在更改选择框时单击,请创建一个单击事件并触发它

var selectBox = document.getElementById("yourSelect");
selectBox.onchange = function()
{
  // call the fireClick function passing the element
  fireClick(link); // pass the element in which you want to trigger
}


function fireClick(element)
{
  var ev = document.createEvent("MouseEvents");
  ev.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  element.dispatchEvent(ev);
}
更简单的方法

selectBox.onchange = function()
{
  var submitButton = document.getElementById("button");
  submitButton.click();
}

我不明白为什么点击select的空格会导致按钮点击?另外,我建议您触发表单的submit事件,而不是单击submit按钮。您确定代码中没有绑定到$'selectstate'的rouge click处理程序吗?正如@rorymcrossan所提到的,您只需通过调用$'myForm'.submit来提交表单;
selectBox.onchange = function()
{
  var submitButton = document.getElementById("button");
  submitButton.click();
}