我的“问题”实际上是无知。我有一个HTML表单,我使用 Vue.js 用PHP数据填充v-select
输入:
<div id="app">
<form>
<v-select name="user2_id" placeholder="Seleccionar Usuario" :options="[{!! $users !!}]" class="select"></v-select>
<select name="user2_type" id="user2_type" class="form-control required">
...
</select>
</form>
</div>
JS部分:
<script src="https://unpkg.com/vue@2.1.10"></script>
<script src="https://unpkg.com/vue-select@2.0.0"></script>
<script>
Vue.component('v-select', VueSelect.VueSelect);
new Vue({
el: '#app'
});
</script>
当我提交表单时,我只获得了 user2_type ,但没有 user2_id 。我认为是因为浏览器无法将v-select
识别为表单输入。
有没有简单的方法,或者我应该使用AJAX或其他方式提交表单?
谢谢
编辑:Web Inspector生成HTML输出
<div class="dropdown v-select select searchable" name="user2_id">
<div type="button" class="dropdown-toggle clearfix">
<input debounce="0" placeholder="Seleccionar Usuario" class="form-control" style="width: 100%;" type="search">
<i role="presentation" class="open-indicator"></i>
<div class="spinner" style="display: none;">
Loading...
</div>
</div><!---->
</div>
答案 0 :(得分:3)
vue-select不会创建实际的<select>
字段,因为在Vue组件中,任何表单提交通常都是通过AJAX处理的,而不是标准的<form>
POST。
您需要从<v-select>
中获取价值 - 有两种方法。
onChange
回调(请参阅the docs)手动更新字段。<v-select v-model="user2_id"></v-select> <input type="hidden" v-model="user2_id">