2017-09-14 7 views
0

JSONでjqueryを初めて使用しましたが、私が戻った結果をドロップダウンに取り込もうとしています。私は基本的に1つのajax呼び出しで部分的なビューを開き、別のajax呼び出しを通じてドロップダウン・データを戻すボタンを持っています。ここで Jquery AJAXを使用した部分表示のドロップダウンに移入

は、ここに私のボタン -

<button type="button" id="createIssueBtn" class="btn btn-lg btn-info" data-toggle="collapse" data-target="#PopUpDiv">I need to create an issue</button><br/> 
<div id="PopUpDiv"></div> 

あるPAGE-

<script type="text/javascript"> 

    $(document).ready(function() { 

     $('#createIssueBtn').bind("click", function() { 
      $.ajax({ 

       url: '@Url.Action("OpenPopUp", "Issues")', 
       dataType: 'html', 
       success: function (html) { 
        $('#PopUpDiv').html(html); 
       } 
      } 
     ) 
      $.ajax({ 

       dataType: "json", 
       url: '@Url.Action("GetIssueTypes", "Issues")', 
       success: function (data) { 

        $.each(data.IssueTypes, function (index, item) { 

         $("#selectIssueType").append(
          $("<option></option>") 
           .text(item.IssueType) 
           .val(item.IssueID) 
          ) 
        }) 
       } 
      }) 
     }) 

    }) 
</script> 

上のJavaScriptであり、これは私がしようとしている部分[表示] -

<div id="AddIssues"><br/> 


<div > 
<select id="selectIssueType"> 
    <option value="0">Select Issue Type...</option> 
</select> 
    </div> 
    <br/> 
    <div>Enter the details of the issue (be specific):</div> 
    <div><input type="text" id="IssueDetails" /></div> 
    <br/> 
    <p>Location of Issue:</p> 
    <div><input type="text" id="IssueLocation" /></div> 
    <div>&nbsp;<br/></div> 
</div> 

です選択に値を設定します。私はデータを元に戻しますが、バインディングは私を捨ててしまいます。

ありがとうございます!

EDITここ

である私のIssueTypesオブジェクト -

public class IssueTypes 
    { 
     public int IssueID { get; set; } 

     public string IssueType { get; set; } 
    } 

EDITここ

私GetIssueTypes機能は問題がcontroller-である

public ActionResult GetIssueTypes() 
     { 
      List<IssueTypes> issuesList = new List<IssueTypes>(); 

      issuesList = issueService.GetAllIssueTypes().data.Select(w => new IssueTypes() 
      { 
       IssueID = w.IssueID, 
       IssueType = w.IssueType 
      }).ToList(); 

      return Json(issuesList, JsonRequestBehavior.AllowGet); 
     } 
+0

理由だけではなく、 '$( '#のcreateIssueBtn')を使用していない(関数(){...})をクリックします;' – JustinJmnz

+0

あなたは持っています。あなたの質問でうまくいきません!しかし、コードに複数の問題があります。少なくとも、ajaxが非同期であり、最初のajax呼び出しが完了する前に2番目のajax呼び出しが実行される可能性はありません。つまり、まだ存在しない '