我有一个包含区域列表的下拉列表,我希望下拉菜单根据我指定的变量值自动选择项目。
这是代码。
<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”。
希望这很清楚。
你需要使用selected
的<option>
属性
因此,如果需要选择位置A和位置B,您的代码将是:
如果您的选项是从PHP生成运行时,则需要在那里添加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" selected="selected">Location A</option>
<option class="sf-level-0 sf-item-139" data-sf-count="24" data-sf-depth="0" value="vic" selected="selected">Location B</option>
</select>
三元选项将有助于实现您想要的,如果您想深入了解选择元素默认属性,这里是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>
试试这个,希望它会对你有所帮助
$(".sf-input-select select").val("Location B");
感谢帮助。我最终得到了这个解决方案
jQuery(document).ready(function( $ ) {
$('select').find('option[value=Location B]').attr('selected','selected');
});
干杯,
不需要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>
通常我们使用下拉值而不是文本,即'all'或'vic'而不是'Location A'或'Location 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>