Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 下拉列表字母顺序:第一行除外-jQuery_Php_Jquery - Fatal编程技术网

Php 下拉列表字母顺序:第一行除外-jQuery

Php 下拉列表字母顺序:第一行除外-jQuery,php,jquery,Php,Jquery,我用jQuery按字母顺序列出,在不同的语言中,它工作得很好,除了第一行/项目“选择类别”也按字母顺序列出,我希望它始终位于顶部。“选择类别”当然是唯一没有价值的。有什么解决办法吗 <!-- Group --> <div class="control-group"> <label class="control-label" for="lastname"><?php echo $this->lang->line('cat

我用jQuery按字母顺序列出,在不同的语言中,它工作得很好,除了第一行/项目“选择类别”也按字母顺序列出,我希望它始终位于顶部。“选择类别”当然是唯一没有价值的。有什么解决办法吗

<!-- Group -->
    <div class="control-group">
        <label class="control-label" for="lastname"><?php echo $this->lang->line('category');?></label>
        <div class="controls">
            <select class="span12" name="catagory" id="catagory">
                <option value="" ><?php echo $this->lang->line('select_the_category');?></option>
            <?php
                $lang_code = $page_data['lang_code'];
                echo $lang_code;
                foreach ($page_data['catagory'] as $key => $value) {
                    $value = (array) $value;
                    echo '<option value="'. $value['event_type_id'] .'">'. $value['event_type_name_'.$lang_code] .'</option>';
                }
            ?>
            </select>
        </div>
    </div>
<!-- // Group END -->

$page_data['catagory']
上使用php
usort
函数并删除jQuery排序

自定义usort:

usort($page_data['catagory'], function ($a, $b) use ($lang_code) {
    $idx = 'event_type_name_'.$lang_code;
    return strcmp($a[$idx], $b[$idx]);
});
因为您知道“选择类别”选项没有值,所以您可以将其从排序功能中筛选出来,只使用值对选项进行排序

var mylist = $('#catagory');
var listitems = mylist.children('option').filter(function(){return $(this).val() != "";}).get();

var mylist = $('#catagory');
var listitems = mylist.children('option').filter(function(){return $(this).val() != "";}).get();