Javascript 在Typeahead.js的远程属性(参数)中使用选择框值
我编写了一个应用程序,它使用Typeahead.js和一个包含美国各州的选择框 如文档所示,库具有属性 我想将我的选择框中所选选项的值添加到远程: var chooseState=函数{ 变量jud=, stateChoice=$'.cm state'.find'option:selected', stateText=stateChoice.text, jud=stateChoice.val; console.logjud; 如果jud=={ $‘显示’。隐藏; }否则{ $'display'.fadeIn150; } $'choice span'.textstateText; $'choiceVal span'.textjud; } $'.cm状态'。在“更改”上,选择状态; $'input.typeahead'。typeahead{ 名称:'typeahead', 远程:“search.php?键=%query&jud=”+jud, 限额:11, //我的补充 完成:选择状态 }; -选择州- 阿拉巴马州 阿拉斯加州 加利福尼亚Javascript 在Typeahead.js的远程属性(参数)中使用选择框值,javascript,jquery,typeahead.js,Javascript,Jquery,Typeahead.js,我编写了一个应用程序,它使用Typeahead.js和一个包含美国各州的选择框 如文档所示,库具有属性 我想将我的选择框中所选选项的值添加到远程: var chooseState=函数{ 变量jud=, stateChoice=$'.cm state'.find'option:selected', stateText=stateChoice.text, jud=stateChoice.val; console.logjud; 如果jud=={ $‘显示’。隐藏; }否则{ $'display'
州名称:
状态代码:
首先,您应该在获取typeahead之前从cdn获取jQuery 其次,您在chooseState函数中声明了jud变量,因此无法从第20行的typeahead init函数访问它,在该函数中您编写了$'input.typeahead'。typeahead{ 检查下面的代码片段 var jud=;//在这里声明'jud'变量,因此它首先是全局变量; var chooseState=函数{ //不要在这里声明'jud',因为它只会成为chooseSate函数的局部变量; var stateChoice=$'.cm state'.find'option:selected', stateText=stateChoice.text; //现在将jud与var声明分离,只需更新全局声明; jud=stateChoice.val; console.logjud; 如果jud=={ $‘显示’。隐藏; }否则{ $'display'.fadeIn150; } $'choice span'.textstateText; $'choiceVal span'.textjud; } $'.cm状态'。在“更改”上,选择状态; $'input.typeahead'。typeahead{ 名称:'typeahead', 远程:“search.php?键=%query&jud=”+jud, 限额:11, //我的补充 完成:选择状态 }; -选择州- 阿拉巴马州 阿拉斯加州 加利福尼亚
州名称:
状态代码:
我试图避免将jud变量或任何其他全局变量设置为全局。我希望能够从typeahead中调用chooseState函数,而无需全局化jud。您可以将chooseState和typeahead设置为另一个函数,并在页面加载后立即调用该函数