天天看点

vue中的单选框选中值

vue中的单选框选中值和最后传给后台值不一样:这句话的意思是如果我选择男女,显示的也是男女,但是我I需要给后台的就是id。可能男的id=0,女的id=1;

这时我们应该怎么办呢?

去个最基础的例子

<div id="example-4" class="demo">

<input type="radio" id="one" value="One" v-model="picked">

<label for="one">One

</label>

<br>

<input type="radio" id="two" value="Two" v-model="picked">

<label for="two">Two

</label>

<br>

<span>Picked: {{ picked }}

</span>

</div>

data{

return {

      picked:' ',

  }

}

--------------------最后picked是你选择的那个单选框的value,也就是one或者two 。

所以我们知道最后选中的也就是这个单选框的value值,并把这个值赋给了他绑定的 v-model的那个元素

上面是所有的单选都写出来,如果是循环呢?

下面是选中快递获取选中的哪一项的id值。并且快递名字也是显示出来的。

选择快递方式

            <form class="mui-input-group change" >

                    <div class="mui-input-row mui-radio"   v-for="db in send">

                        <label>{{db.e_name}}</label>

                        <input name="radio1" type="radio" v-model="express.id" :value="db.id"@tap="express.e_name=db.e_name">  <!--//绿色的一定要,否则你只是改变了id的值输出的是让express.id=db.id,但是显示的你那个id对应的名字啊-->

                    </div>

           </form>

下面显示你选择的快递方式:

<div>快递方式

      <a class="mui-pull-right mui-navigate-right">

               <p style="padding-right:20px;color:#000;line-height: 40px;">{{express.e_name}}</p>

      </a>

</div>

 this.$api("Bsfamily/order",).then(db=>{        

                this.send=db.express;

//              没有获取到id说明不是从那个选择快递方式页面选中回来的,就先赋值

                if(!this.express.id){

                this.express.id= db.express[0].id;//默认的选中第一个

                this.express.e_name= db.express[0].e_name;

                }