2013-12-20 2 views
0

내가 뭘하고 싶은지 내가보기에 하나의 선택기가 내 다른 프로필 소스를 보유하고 두 개의 선택 상자를 설정해야합니다. 두 번째 프로필 이름은 선택한 소스를 기반으로 프로필 이름을 유지합니다.면도날 내에서 자바 스크립트 함수를 호출하는 문제

내 문제는 내가 선택한 소스에 따라 올바른 프로필을 끌어 오기 때문에 데이터베이스에있는 특정 값을 프로필 소스에 대해 테스트해야합니다.

<div class="managerField"> 
     <label for="Source Selector" class="label">Select Source:</label> 
     <select name="SourceSelector" form="PostScheduler" class="select-style" onchange="sourceSelect(this.value)"> 
      <option value="" selected>Please Select Source</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
     </select> 
    </div> 
    <div class="managerField"> 
     <label for="ProfileSelector" class="label">Select Profile:</label> 
     <!-- POPULATE BASED ON SOURCE SELECTED --> 
     <select name="Profile Selector" class="select-style"> 
      @foreach (var p in Model.SocialProfiles.Where(pr => pr.SocialProfileTypeID == sourceSelect(SourceSelector)) 
      { 
      <option value="@p.SocialProfileID">@p.ScreenName</option> 
      } 
     </select> 
    </div> 

    @section Scripts 
    { 

<script type="text/javascript"> 
    function sourceSelect(el) 
      { 
       if (el == "") return 0; // Will need to catch 
       if (el == "1") return 2; 
       if (el == "2") return 6; 
       if (el == "3") return 15; 
      } 
    } 

어떤 도움이 놀랍 평가 될 것입니다 : 내가보기에 현재 어딘지

이다.

+0

지금 실행하면 어떻게됩니까? 'return' 문을'console.log'로 변경하면 출력은 무엇입니까? 이런 종류의 문제는 나에게 잘 보이므로 문제가 무엇인지 명확하지 않습니다. – Yuck

+0

당신은 당신의 스크립트 태그 안에서 if 문이 면도기라면 자바 스크립트가 아니라고 말하고 있습니다. 스크립트 부분의 출력 HTML (브라우저에서 소스보기)은 무엇입니까? –

+1

오, 당신은 Razor 문에서 JavaScript 함수를 사용하려고합니다. 그것은 작동하지 않습니다. 면도기는 뷰 엔진입니다. 문서 (HTML, JavaScript 등) 만 내보내지만 실제 JavaScript 코드에는 액세스 할 수 없습니다. 두 목록을 모두로드하고 클라이언트에서 디스플레이를 변경하거나 AJAX 호출을 만들어 첫 번째 선택에 따라 적절한 목록을 가져와야합니다. – Yuck

답변

0

턱이 머리에 실제로 맞았는데 면도칼 안에서 자바 스크립트를 호출 할 수 없습니다. JS를 통해 호출하기 위해 새 메서드를 개발하고 면도기로 제거했습니다.

관련 문제