我有一个带有区域列表的下拉列表,我希望该下拉列表根据我分配的变量值自动选择一个项目。
这是代码。
<select name="_sft_location[]" class="sf-input-select" title="">
<option class="sf-level-0 sf-item-0" data-sf-count="0" data-sf-depth="0" value="">All Locations</option>
<option class="sf-level-0 sf-item-177" data-sf-count="2" data-sf-depth="0" value="all">Location A</option>
<option class="sf-level-0 sf-item-139" data-sf-count="24" data-sf-depth="0" value="vic">Location B</option>
</select>
例如,如果我有一个PHP变量$defaultLocation = "Location B"
,则该下拉列表应在页面加载时从列表中自动选择“位置B”。
希望这很清楚。
答案 0 :(得分:0)
您需要使用selected
的{{1}}属性
因此,如果需要选择位置A和位置B,则您的代码应为:
如果您的选项正在从PHP中生成运行时,则需要在其中添加<option>
条件。
if
答案 1 :(得分:0)
三元选项将实现您想要的目标。如果您想深入了解选择元素的默认属性,请访问link。
<select class="sf-input-select" name="_sft_location[]" title="">
<option class="sf-level-0 sf-item-0" data-sf-count="0" data-sf-depth="0" value="">
All Locations
</option>
<option class="sf-level-0 sf-item-177" data-sf-count="2" data-sf-depth="0" value="all">
Location A
</option>
<option class="sf-level-0 sf-item-139" data-sf-count="24" data-sf-depth="0" value="vic"
<?php (!empty($defaultLocation) && $defaultLocation == 'Location B' ? 'selected':'')
?>>
Location B
</option>
</select>
答案 2 :(得分:0)
尝试一下,希望对您有帮助
$(".sf-input-select select").val("Location B");
答案 3 :(得分:0)
感谢您的帮助。我最终得到了这个解决方案
jQuery(document).ready(function( $ ) {
$('select').find('option[value=Location B]').attr('selected','selected');
});
干杯
答案 4 :(得分:0)
无需JavaScript / jquery来执行此操作,而您只想根据此更改onload更改不带代码的选择
使用简单的php函数,您可以做到这一点..您可以内联完成它,而无需创建函数,但是我更喜欢创建函数
<?php
function defaultLocation($location){
global $defaultLocation;
return ($defaultLocation == $location) ? 'selected' : '';
}
?>
<select name="_sft_location[]" class="sf-input-select" title="">
<option class="sf-level-0 sf-item-0" data-sf-count="0" data-sf-depth="0" value="">All Locations</option>
<option class="sf-level-0 sf-item-177" data-sf-count="2" data-sf-depth="0" value="all" <?php echo defaultLocation('Location A'); ?>>Location A</option>
<option class="sf-level-0 sf-item-139" data-sf-count="24" data-sf-depth="0" value="vic" <?php echo defaultLocation('Location B'); ?>>Location B</option>
</select>
答案 5 :(得分:0)
通常,我们使用下拉值代替文本,即使用“全部”或“ vic”代替“位置A”或“位置B”。 以任何方式提出问题,也可以使用'if'语句:
<select name="_sft_location[]" class="sf-input-select" title="">
<option class="sf-level-0 sf-item-0" data-sf-count="0" data-sf-depth="0" value="">All Locations</option>
<option class="sf-level-0 sf-item-177" data-sf-count="2" data-sf-depth="0" value="all" <?php if($defaultLocation == "Location A") {echo 'selected';} ?> >Location A</option>
<option class="sf-level-0 sf-item-139" data-sf-count="24" data-sf-depth="0" value="vic" <?php if($defaultLocation == "Location B") {echo 'selected';} ?> >Location B</option>