我正在尝试扩展它,但在创建JS函数时我有点绿。我设法自己走了这么远,但唉......
当跨度获得任何值(在本例中为城市名称)时,我希望选择框自动匹配它。我希望通过摆脱所有这些来扩展它,如果是的话。
$(document).ready(function() {
$('select#field1 option').removeAttr('selected');
var whereEvent = $('span#field2').html();
if (whereEvent == 'New York') {
$('select#field1 option[value=New York]').attr('selected', 'true');
} else if (whereEvent == 'Los Angeles') {
$('select#field1 option[value=Los Angeles]').attr('selected', 'true');
} else if (whereEvent == 'Tokyo') {
$('select#field1 option[value=Tokyo]').attr('selected', 'true');
} else if (whereEvent == 'London') {
$('select#field1 option[value=London]').attr('selected', 'true');
} else if (whereEvent == 'Sydney') {
$('select#field1 option[value=Sydney]').attr('selected', 'true');
} else if (whereEvent == 'Paris') {
$('select#field1 option[value=Paris]').attr('selected', 'true');
}
});
有人可以帮助我吗?我保证我会感激你的帮助。谢谢。
答案 0 :(得分:5)
这是一个选项:
$(document).ready(function() {
$('select#field1 option').removeAttr('selected');
var whereEvent = $('span#field2').html();
var filter = 'select#field1 option[value=' + whereEvent + ']';
$(filter).attr('selected', 'true');
}
或者你可以这样做:
$(document).ready(function() {
var filter = $('span#field2').html();
$('select#field1 option').each(function(){
this.selected = (this.value == filter);
});
}
答案 1 :(得分:3)
也许:
$('select#field1 option').removeAttr('selected');
var whereEvent = $('span#field2').html();
$('select#field1 option[value='+whereEvent+']').attr('selected', 'true');
答案 2 :(得分:0)
我不知道jQuery,所以可能有更优雅的方式,但是:
var whereEvent = $('span#field2').html();
$('select#field1 option[value=' + whereEvent + ']').attr('selected', 'true');