我有一个非常令人沮丧的问题。我有这段代码可以过滤掉我的结果并将它们输入到一个选择框中
var syn = <?=json_encode($syn)?>;
function filterByCity() {
var e = document.getElementById("city_filter");
var city = e.options[e.selectedIndex].value;
var selectOptions = document.getElementById('syn_list');
selectOptions.options.length = 0;
for (i = 0; i < syn.length; i++) {
if (city == syn[i]['city'] || city == 'all') {
selectOptions.options[selectOptions.options.length] = new Option(syn[i]['name'], syn[i]['id'] + '" onclick="updateTxtContent(\'' + syn[i]['id'] + '\')');
}
}
}
如您所见,我正在为每个选择“选项”添加一个 onclick 侦听器,这在页面本身的源代码中看起来很棒,但是如果我将其复制到编辑中,我注意到我的问题是“updateTxtContent()”函数是不叫。
<select size="10" name="syn_list" id="syn_list" class="span12" dir="rtl" style="text-align:right;">
<option value="13" onclick="updateTxtContent('13')">option a</option>
<option value="14" onclick="updateTxtContent('14')">option b</option>
显然应该有更好的方法来做到这一点,我不知道。