2017-12-20 1 views
0

Jetzt bin ich in der Lage, Unterkategorie in der folgenden Weise zu veröffentlichen? Jetzt Das Ergebnis istWie Subkategorie in Zeichenfolge getrennt durch Kommas in Vue Js zu veröffentlichen?

subcategory[] : Healthcare 
subcategory[] : education 

Aber ich brauche diese durch Komma getrennt als String zu bekommen?

Mein HTML-Code ist

<div id="submitBox"> 
    <form method="POST" onSubmit="return false;" data-parsley-validate="true" v-on:submit="handelSubmit($event);"> 
    <select id="basic" class="selectpicker" data-live-search="true" data-live-search-style="begins" title="Select Your City" v-model="subcategory" name="subcategory[]" multiple> 
     <option v-for="so in services" v-bind:value="so.name">{{so.name}}</option> 
    </form> 
</div> 

Mein vue js Code

<script> 
submitBox = new Vue({ 
    el: "#submitBox", 
    data: { 
    subcategory: [], 
    }, 
    methods: { 
    handelSubmit: function(e) { 
     var vm = this; 
     data = {}; 
     data['subcategory'] = this.subcategory; 
     $.ajax({ 
     url: '/post/', 
     data: data, 
     type: "POST", 
     dataType: 'json', 
     success: function(e) { 
      if (e.status) { 
      alert("Registration Success") 
      } 
     } 
     }); 
     return false; 
    } 
    }, 
}); 
</script> 

ist Ich brauche Daten Postas

subcategory : healthcare,education 

Kann jemand bitte helfen Sie mir das gleiche zu lösen?

+0

'data [ 'Subkategorie'] = this.subcategory.join ('')' –

Antwort

1

this.subcategory ist ein Array, können Sie es in einen String mit join wie diese verwandeln kann:

let services = [ 
 
    {name: 'Hamburger'}, 
 
    {name: 'Sandwich'}, 
 
    {name: 'Hotdog'} 
 
]; 
 

 
submitBox = new Vue({ 
 
    el: "#submitBox", 
 
    data: { 
 
    subcategory: [], 
 
    }, 
 
    methods: { 
 
    handelSubmit: function(e) { 
 
     var vm = this; 
 
     data = {}; 
 
     data['subcategory'] = this.subcategory.join(','); 
 
     
 
     console.log(data); 
 
     
 
     return false; 
 
    } 
 
    }, 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.min.js"></script> 
 
<div id="submitBox"> 
 
    <form method="POST" onSubmit="return false;" data-parsley-validate="true" v-on:submit="handelSubmit($event);"> 
 
    <select id="basic" class="selectpicker" data-live-search="true" data-live-search-style="begins" title="Select Your City" v-model="subcategory" name="subcategory[]" multiple> 
 
     <option v-for="so in services" v-bind:value="so.name">{{so.name}}</option> 
 
    </select> 
 
    <button>Submit</button> 
 
    </form> 
 
</div>

0

Wenn Sie nur durch ein Komma die subcategory Array innerhalb einer Zeichenfolge getrennt beitreten müssen , verwenden Sie einfach:

data['subcategory'] = this.subcategory.join(','); 

Mai könnte für Sie nützlich als Daten Ihrer jQuery ajax Anruf etwas zu verwenden, wie:

data: {"subcategory": this.subcategory} 
Verwandte Themen