2017-06-10 10 views
1

での@ Html.DropDownListを使用することができます私は今、私はテーブルの薬によって移入この@Html.DropDownListを持って列IDMedicineNamepriceは、どのように私は複数の値

とテーブルMedicineを持っています。私は値ID,MedicineNamepriceを呼び出すか、jqueryで使用します。

現在、私は得ることができますMedicineName

マイコントローラ:

public ActionResult Create() 
    { 
     ViewBag.ClientID = new SelectList(db.Clients, "ClientID", "Surname"); 
     ViewBag.MedicineID = new SelectList(db.Medicines, "MedicineID", "MedicineName"); 
     return View(); 
    } 

マイビュー:

@Html.DropDownList("MedicineID", ViewBag.MedicineID, htmlAttributes: new { @class = "form-control" }) 

スクリプト:

$("#btnAdd").click(function() { 

     var medname = $("#MedicineID option:selected").text() 
     var qty = $("#myID").val() 

     $("#tblList").append('<tr> <td>' +medname+ '</td> <td>'+qty+'</td> <td> </td> <td><a class="remove" href="#">del</a></td></tr>') 

    }) 
+0

あなたができることは、IDを値にして、MedicineName-Priceをテキストとしてテキストにドロップダウンすることです。しかし、これは、ユーザーが選択した医学名と価格の両方を見ることになることを意味します –

答えて

2

method.Youはこのようなものを使用することができ、コントローラのアクションから、あなたのドロップダウン内のフォーマットされたデータを送信するようにしてください:

public ActionResult Create() 
    { 
      ViewBag.ClientID = new SelectList(db.Clients, "ClientID", "Surname"); 

      //modified code 
      var medlist = db.Medicines.AsEnumrable().Select(x => new {Id = x.MedicineID, MedName = (x.Id + " "+ x.MedicineName +" "+ x.Price).ToString()}); 
      ViewBag.MedicineID = new SelectList(medlist, "ID", "MedName"); 
      return View(); 
     } 

今では、ドロップダウン内に自分の薬のID、名前、価格が表示されます。必要に応じてドロップダウンをフォーマットすることができます。 適切な文字列関数を配置することで、スクリプト内のデータを抽出することができます。

0

あなたカントストアの3つの値でe選択リストの行。それはIDとテキストだけを持っています。

あなたができることは、webapiを呼び出して、選択リストから取得したIDを使用して追加データを要求することです。

1

@Html.DropDownListを使用することはできません.2つのデータ値(idとtextのみ)を使用できます。

代わりにあなたがダウン独自のドロップを構築するために@Html.NameFor@Html.IdForを使用することができます。

<select name="@Html.NameFor(Function(model) model.CityId)" 
     id="@Html.IdFor(Function(model) model.CityId)"> 
    @For Each medicine In Model.Medicines 
     @<option value="@medicine.MedicineId" 
       data-price="@medicine.price"> 
      @medicine.MedicineName 
     </option> 
    Next 
</select> 
関連する問題