如图:我之前做的一个功能是:有两个选择版本的select框,当pf选择了一个版本后,schema需要自动选择一个跟pf对应的版本。
我的思路是:在pf那个select框的change事件中,拿到pf框选中的那个版本值,假如是11.2.3,然后我遍历schema里面的所有版本,只要哪个版本里面包含了11.2.3,就把那个版本的selected属性设置为True。
所以我最终写的那句代码是:
$("#versionUrl option:contains('"+selecteStr+"')").attr("selected", true);
之后测试的时候发现,就第一次的时候好使,之后再切换pf版本,下面的schema版本就不会跟着变了。然后各种调试,发现能正确的拿到上面的pf版本,就是在给schema的selected赋值的时候不起作用。也把问题在百度上搜索了好多,都没找到合适的解决方法。
最后我一个同事告诉我,她之前也遇到过这个问题,后来把attr改成prop就好使了。于是我把代码改成
$("#versionUrl option:contains('"+selecteStr+"')").prop("selected", true);之后果然好使了。
至于attr与prop的区别,网上有很多,我就不说了。