jQuery前置选项以选择列表

cycfx

我的选择列表适用于不同的餐馆类型,因此用户可以选择一种食物类型,然后单击“搜索”,然后将返回其特定食物类型搜索的列表。

我已经成功使用以下选项在我的选择下拉列表中添加了一个选项:

$("#edit-field-type-value").prepend("<option value=''>Type of Restaurant...</option>").val('');

但是,如果用户选择说“中式”食物,那么当刷新页面时,选择列表中的选项仍然是我新添加的“餐厅类型...”,我想要的是保留该选项在下拉菜单中选择其食物类型,在这种情况下为“中文”。

我的html当前看起来像这样:

<select id="edit-field-type-value" name="field_type_value" class="form-select">
  <option value="">Type of Restaurant...</option>
  <option value="All">- Any -</option>
  <option value="Chinese" selected="selected">Chinese</option>
  <option value="Indian">Indian</option>
  <option value="Italian">Italian</option>
  <option value="Spanish">Spanish</option>
  <option value="English">English/Traditional</option>
  <option value="American">American</option>
  <option value="Turkish">Turkish</option>
</select>

谢谢!

转基因

因此,如果您与Drupal在一起PHP这很容易做到。
尝试使用类似的方法:

<?PHP
  // First, get the selected value in a $var
  $food_type = $_REQUEST['field_type_value'];
?>

然后,您可以为选项使用循环,或仅向每个条件添加以下条件:

<select id="edit-field-type-value" name="field_type_value" class="form-select">
   ...
   <option value="Chinese" <?PHP if($food_type == 'Chinese')echo 'selected="selected"'; ?>>Chinese</option>
   ...
</select>

但是...如果将选项注入jQuery...,则需要将其转换PHP $varjavascript var

<?PHP
  $food_type = $_REQUEST['field_type_value'];
  echo '<script>var food_type = "'.$food_type.'";</script>';
?>

然后在JS循环中...

var food_type_loop = ["Type of Restaurant...", "Chinese", "Indian", "more..."]; // all your options

jQuery(document).ready(function(){
    for (var i=0 ;i<food_type_loop.length; i++) {
            $("#edit-field-type-value").append("<option value='" + food_type_loop[i] + "'>" + food_type_loop[i] + "</option>").val(food_type_loop[i]);
            // reach to the end... now select th proper one
            if(i+1 == food_type_loop.length) select_the_food();
    }
});

function select_the_food(){
    $('#edit-field-type-value option[value="'+food_type+'"]').prop('selected', true);
}

jQ的小提琴示例http://jsfiddle.net/gmolop/hWKkL/1/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章