2014-09-18 3 views
1

서버 측 : "IEnumerable"유형의 ViewBag를 만듭니다.SelectListItem을 JavaScript/jQuery로 반복 처리하는 방법은 무엇입니까?

Cliectside : ViewBag를 반복하여 드롭 다운을 작성하십시오.

JavaScript/jQuery를 사용하여 SelectListItems를 반복 처리하는 방법은 무엇입니까?

파이어 폭스 오류 메시지가 : 드디어이 문제를 가지고

function test() { 
    var modtagerId = $('#ModtagerId'); 
    modtagerId.empty(); 

    // ViewBag.dropdownModtagerListeNyhedsbrev is of type "IEnumerable<SelectListItem>" 
    var list = ViewBag.dropdownModtagerListeNyhedsbrev; 

    list.each(function() { 
     $("<option />", { 
      val: this.value, 
      text: this.text 
     }).appendTo(modtagerId); 
    }); 
} 
+1

. 각각은 jquery 메소드입니다. jquery 객체를 나열합니까? –

+0

아니요, // ViewBag.dropdownModtagerListeNyhedsbrev의 유형이 "IEnumerable " – radbyx

+0

그래서 (어떻게 든) jQuery 객체를 만드는 데 집중해야합니까? 아니면 내가 이미 가지고있는 객체를 반복하는데 집중하라. 내가 실종 된 모범 사례가 있어야한다. – radbyx

답변

1

: "형식 오류 list.each는 함수가 아닙니다." 나는 foreach 대신 JavaScript를 사용하고 <text>을 사용하여 면도기를 벗어났습니다.

누군가가 신경 쓰면 내 해결책 : (다른 사람을 위해 console.log()를 keept).

function updateModtagerGruppeDropdown() { 
    var modtagerId = $('#ModtagerId'); 
    modtagerId.empty(); 

    @foreach (var item in ViewBag.dropdownModtagerListeVelkomstbrev) 
    { 
     @:console.log('list: ' + "@(item.Value)" + ", " + "@(item.Text)"); 
     <text> 
      var value = "@(item.Value)"; 
      var text = "@(Html.Raw(item.Text))"; 
      $("<option />", { 
       val: value, 
       text: text 
      }).appendTo(modtagerId); 
     </text> 
    } 
} 
+1

Thx, 내가 찾고있는 것. 브래킷 오류가 수정되었습니다. – Simon