我想根据所选选项进行getJSON搜索。例如:如果我在选择选项菜单中选择意大利语,我希望getJSON查询看起来像json.w1.Italian。
我知道这段代码不正确,这就是我寻求帮助的原因。
以下是代码:
<select name="language">
<option selected="selected" value="english">English</option>
<option value="german">German</option>
<option value="spanish">Spanish</option>
<option value="italian">Italian</option>
<option value="french">French</option>
<option value="portuguese">Portuguese</option>
<option value="dutch">Dutch</option>
<option value="romanian">Romanian</option>
<option value="greek">Grek</option>
<option value="bulgarian">Bulgarian</option>
</select>
<div id="language"></div>
<div id="results"></div>
<script>
$("select")
.change(function() {
var str = "";
$("select option:selected").each(function() {
str += $(this).text() + " ";
});
$("#language").text(str);
var query = json.w1.str;
$.getJSON("lang.json", function(json) {
$("#results").text(query);
});
})
.change();
</script>
答案 0 :(得分:2)
您的代码比实际需要复杂得多 - 要获得select
的选定值,您只需调用val()
即可。然后,您可以使用括号表示法使用键作为字符串从对象中检索项目。试试这个:
$('select').change(function () {
var lang = $(this).val();
$("#language").text(lang);
$.getJSON('lang.json', function(json) {
$('#results').text(json.w1[lang]);
});
}).change();
答案 1 :(得分:0)
嘿,你似乎在你的例子中有很多你不需要的代码。没有看到你的结果json我想你想要这样的东西。
https://jsfiddle.net/vpeLq3k4/
$( "select" )
.change(function () {
var lang = $( "select option:selected" ).val();
$( "#language" ).text( lang );
$.getJSON( "lang.json", function( json ) {
$( "#results" ).text( json.w1.lang );
});
});
如果您发布了返回json的示例,我们可以提供更多帮助。