2013-04-30 5 views
0

다음 코드를 가지고 있으므로 이미 EnteredQuantity와 함께 존재하는 메서드가 오버로드되고 있다고 생각합니다. 것은 거의 작동한다, 나는 나가 평소보다는 여기에서 조금 더 깊다는 것을 짐작한다. 내가 거의 작품을 말할 때 드롭 다운의 텍스트는 0,1,2 ... 1000이고 두 번째 드롭 다운에서 "야드 컷"을 선택하면 잘 작동하지만 첫 번째 드롭 다운은 모든 요소를 ​​10 배로 추가합니다. 예 :보기에서 두 개의 드롭 다운 상자 추가

selectList1에서 "1"을 선택한 다음 selectList2에서 "1/2 Yard Cut"을 선택하면 1.5가 아닌 10.5가됩니다.

이제는이 방법으로 작동시키지 않아야한다고 생각하지만 코드가 내 것이 아니며 단지 내 필요에 맞게 작동 시키려고합니다. 나는 이상적으로 selectList1 + selectList2의 값을이 뷰의 주석 처리 된 코드에서 함께 추가하는 것이 좋을 것이라고 생각하며,이 값은 업데이트 전에 EnteredQuantity가됩니다. 무슨 뜻인지 아시면.

어떻게하면됩니까?

코드 :

@Html.LabelFor(model => model.EnteredQuantity, new { @class = "qty-label" })<text>:</text> 

var maxQty = 1000; 
var selectList1 = new List<SelectListItem>(maxQty + 1); 
for (var i = 0; i <= maxQty; i++) 
{ 
    selectList1.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() }); 
} 
@Html.DropDownListFor(model => model.EnteredQuantity, selectList1, new { @class = "qty-input" }) 

<text> + </text> 
var selectList2 = new SelectList(new [] 
{ 
    new {ID="0",Name="0 Yard Cut"}, 
    new {ID="0.25",Name="1/4 Yard Cut"}, 
    new {ID="0.50",Name="1/2 Yard Cut"}, 
    new {ID="0.75",Name="3/4 Yard Cut"}, 
}, "ID","Name",0); 
ViewData["selectList2"]=selectList2; 

//@Html.DropDownList("list",ViewData["selectList2"] as SelectList); 

@Html.DropDownListFor(model => model.EnteredQuantity, selectList2, new { @class = "qty-input1" }) 

답변

1

난 당신이 텍스트로 드롭 다운의 값을 추가하고 있기 때문에 생각, 그래서 당신이 뭔가를 가지고 :

selectList1.val() + selectList2.val() 

은 다음과 같이해야 할 때 :

parseFloat(selectList1.val()) + parseFloat(selectList2.val()) 
+0

... 내가 무슨 생각 몰라 : / – Tallmaris

0

업데이트 :

이것을 무시하고 아래의 @von 대답을 사용하여 해결할 수 있는지 확인하십시오.이 방법은 훨씬 더 좋으며 동일한 문제를 해결합니다.


나는 양식을 게시 할 때 (아마도 문제의 일부 코드를 넣어?) 무슨 일이 일어나고 있는지 모르겠지만, 나는 그것이 10 "곱"되지 않는다는 것을 추측 할 수 있지만,이 첫 번째 드롭 다운에는 1 문자열을 연결하고 두 번째 드롭 다운에는 0.50 문자열을 연결하기 만하면됩니다.

시도와는 제로를 제거하는 두 번째 선택 목록을 변경하고 어떻게되는지 : 이것은 내 대답은 다음 많은 더

var selectList2 = new SelectList(new [] 
{ 
    new {ID=".0",Name="0 Yard Cut"}, 
    new {ID=".25",Name="1/4 Yard Cut"}, 
    new {ID=".50",Name="1/2 Yard Cut"}, 
    new {ID=".75",Name="3/4 Yard Cut"}, 
}, "ID","Name",0);