更改页面加载时的选择选项值

时间:2019-04-05 05:54:21

标签: javascript php jquery select option

我有一个带有区域列表的下拉列表,我希望该下拉列表根据我分配的变量值自动选择一个项目。

这是代码。

<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”。

希望这很清楚。

6 个答案:

答案 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>