我正在将CI与Chosen plugin一起用于我网站上的标签。我需要从数据库中填充标签,让用户在验证 - >运行()时添加/删除标签并更新数据库。
查看文件:
<select id="tag-edit-select-bar" multiple="true" class="form-control" name="tag_edit_select_bar">
<?php foreach ($tags_all as $tag): ?>
<option value="<?php echo $tag['id']; ?>" <?php echo set_select('tag_edit_select_bar',$tag['id'], ( in_array($tag['id'], $listOfTags ) ? TRUE : FALSE )); ?>><?php echo $tag['name']; ?></option>
<?php endforeach; ?>
</select>
<script>
$(document).ready(function(){
$('#tag-edit-select-bar').chosen();
});
</script>
其中set_select()
的第三个参数用于选择用户已经在数据库中拥有的标记。
问题在于提交时我只返回一个值。如果我对选择进行了更改,则将新值发送到服务器
...
X-Requested-With:XMLHttpRequest
Form Data
view source
view URL encoded
phone:988987897
tag_edit_select_barr:1
tag_edit_select_barr:3
tag_edit_select_barr:4
但是使用var_dump($this->input->post('tag_edit_select_bar'));
检查服务器端只能获得最高值
但是使用var_dump($this->form_validation->set_value('tag_edit_select_bar'));
检查服务器端是否为空。
我认为这与Chosen插件如何允许多个选择有关。 CI似乎不允许这样做。