我真的努力在这里和谷歌上寻找可能的答案。我确实找到了一些答案,但是当我将它们应用于我的代码和我的情况时,它就不起作用了。
我试过:
$("select#city option['City, ST']").attr('selected', 'selected');
我也试过:
$("select#city").val('City, ST');
正如某处建议的那样。
我尝试将此代码放入 document.ready 函数 - 无济于事。然后我尝试将它放在顶部(虽然不是在头部),但没有 document.ready 但仍然相同。
此功能失败的原因可能是什么?它被称为重要的时刻(我的意思是,如果我的带有值的选择框首先呈现然后调用函数,这有关系吗?或者它可能是别的什么?
HTML 代码:
<div class="ui-widget">
<h3>Location</h3>
<form id="chooseCity" class="" action="" method="post">
<select id="city" name="city">
<option value="Select Town">Select Town</option>
<option value='Acworth, NH'>Acworth, NH</option>
<option value='Alstead, NH'>Alstead, NH</option>
<option value='Alton, NH'>Alton, NH</option>
<option value='Alton Bay, NH'>Alton Bay, NH</option>
<option value='Amherst, NH'>Amherst, NH</option>
<option value='Andover, NH'>Andover, NH</option>
<option value='Antrim, NH'>Antrim, NH</option>
<option value='Concord, NH'>Concord, NH</option>
</select>
</form>
</div>
这个循环会是罪魁祸首吗?也许它以某种方式干扰:
<option value="Select Town">Select Town</option>
<?php foreach($arr as $city):
echo "<option value='{$city}'";
echo ($_POST['city-hp'] == $city) ? 'selected' : '';
echo ">".$city."</option>".PHP_EOL;
endforeach; ?>
重要编辑:
我发现这段代码:
$(function() {
$( "#city" ).combobox();
$( "#toggle" ).click(function() {
$( "#city" ).toggle();
});
});
正在阻止我的组合框以编程方式选择所需的值。但是这段代码对于选择框的样式至关重要。我已经从 jQuery UI 网站下载了示例并将其集成到我的网站中。
如何修改上述代码以保留其外观,同时允许所需的功能?