1.问题
浏览器调试时报错:Maximum call stack size exceeded (超过最大调用堆栈大小)
2.实际情况
把按钮和选择框绑定,点击按钮,来改变选择框的值,而选择框值改变了,因为使用了trigger,可通过js改变按钮的值,按钮进而又改变选择框,这样反复导致超过最大调用堆栈大小。
$("select").val(value).trigger("change");
3.解决办法
如果按钮的值和选择框值不一样才去改变选择框的值
if ($("select").val() != value) { $("select").val(value).trigger("change"); }