Jquery 正在尝试选择“选择”中的最后一个选项。在JSFIDLE中工作,而不是在我的站点中。不明白为什么

Jquery 正在尝试选择“选择”中的最后一个选项。在JSFIDLE中工作,而不是在我的站点中。不明白为什么,jquery,jquery-mobile,select,refresh,Jquery,Jquery Mobile,Select,Refresh,我有一个选择框,基本上,只要点击一个按钮,另一个选项就会被添加到其中,这就是前一个框的值的增量。这一切都很好。我希望在添加最后一个选项后将其选中。但由于某种原因,我无法让它在我的应用程序中运行,尽管它在我的JSFIDLE中运行良好 JSFIDLE中的代码与我的站点中的代码完全相同,但我的站点没有选择最后一个值。知道为什么吗 function addEmiss() { var last = $("#collectorMainsInspEmissSelect option:last-

我有一个选择框,基本上,只要点击一个按钮,另一个选项就会被添加到其中,这就是前一个框的值的增量。这一切都很好。我希望在添加最后一个选项后将其选中。但由于某种原因,我无法让它在我的应用程序中运行,尽管它在我的JSFIDLE中运行良好

JSFIDLE中的代码与我的站点中的代码完全相同,但我的站点没有选择最后一个值。知道为什么吗

function addEmiss() {
        var last = $("#collectorMainsInspEmissSelect option:last-child").val();
        if ($.isNumeric(last)) {
            $("#collectorMainsInspEmissSelect option:last").after("<option value=" + (parseInt(last) + 1) + ">" + (parseInt(last) + 1) + "</option>");
            $("#collectorMainsInspEmissSelect option:last").prop('selected', true);
        }
        else {
            $("#collectorMainsInspEmissSelect option:last").after("<option value=1>1</option>");
            $("#collectorMainsInspEmissSelect option:last").prop('selected', true);
        }

    }
是否有某种刷新,我可以调用select使其更新?这是一个Jquery移动网站,所以我不确定这是否相关

编辑:对于Clarity,选项将添加到“选择”。只是没有选择我想要的最后一个


双重编辑:这似乎与我的页面被加载到DOM中有关。如果addEmiss在定义后立即运行,它会将一个添加到select中,并将其选中。所以我认为如果在加载页面之前选择它,它就会显示出来。只是如果它已经加载了就不会了

尝试在like中绑定您的单击事件

或者尝试在页面底部添加脚本

如果已经使用jquery绑定了button click事件,则从button元素中删除onclick,如

<button id="button">hi</button>
否则,它将创建未定义的addEmiss错误,剩下的代码将无法工作

如果您使用的是onclick,那么请从jquery代码中删除$button.clickfunction{,在这种情况下,您需要在使用函数addEmiss之前定义函数addEmiss


希望,这将解决您的问题。

检查您的HTML中是否只有一个id=CollectorInspemissSelect。您是否尝试过查看上次发出console.loglast的值?函数是否进入if循环?@OlegYudovich,肯定只有一个。@LelioFaieta,是的,它正确地打印了最后一个。正如我所说的,是这样的在小提琴中工作正常,所以我认为我的应用程序有点奇怪。放置调试器;在addEmiss中。运行代码,在chrome上打开控制台,尝试调试一行又一行。如果没有完整的图片,我也帮不了你。而且脚本在页面底部。请在OP.选项已成功添加到select中,但没有选择最后一个。希望您已经添加了任何版本的jquery。尝试使用jquery版本1.7.2我正在使用jquery版本2.0.3,我是否应该回滚到1.7.2?是的,对不起,我应该说我的代码与fiddle略有不同。我没有使用.click函数{为了绑定,我只使用了onclick。我没有收到任何未定义的错误或任何错误。在添加选项后,屏幕似乎没有更新。我的建议是,如果您使用的是jquery,那么您应该使用$button.clickfunction{而不是$button.on'click',function{最好在将来消除这种类型的错误。
<button id="button">hi</button>