2016-09-30 7 views
0

Imageを見つけてください。 ドロップダウンメニューの変更イベントでAJAXコールを作成しました。必要なフィールドを選択すると、別のAJAXコールをクリックして、送信ボタンのコントローラに選択したフィールドを渡します。ここに私のコードです。それは可能ですか?私は新しい蜂、より多くの情報が必要な場合はコメントしてください。mvcでajaxを使ってコントローラに値を渡す方法3

<script src="../../Scripts/jquery-3.1.1.min.js" type="text/javascript"></script> 
 
<script src="../../Scripts/bootstrap.min.js" type="text/javascript"></script> 
 

 
<script type="text/javascript"> 
 
    $(document).ready(function() { 
 
     $("#ddlUser").change(function() { 
 
      var User = $("#ddlUser option:selected").val(); 
 
      if (User != "") { 
 
       $.ajax(
 
       { 
 
        type: "POST", 
 
        url: "/Home/GetPermissionDatail", 
 
        data: '{Username: "' + $("#ddlUser :selected").val().toString() + '" }', 
 
        contentType: "application/json; charset=utf-8", 
 
        dataType: "json", 
 
        success: function (response) { 
 
         if (response != null) { 
 
          var trHTML = ''; 
 
          var cnt = 1; 
 
          $.each(response, function (i, item) { 
 
           if (item.Status == "True") { 
 
            trHTML += '<tr><td style=display:none;>' + item.PermID + '</td><td>' + item.Fname + '</td><td style=display:none;>' + item.formlinkname + '</td><td style=display:none;>' + item.Status + '</td><td><input id=Checkbox' + cnt + ' value=' + item.PermID + ',' + item.Fname + ' type=checkbox checked> </td></tr>'; 
 

 
           } 
 
           else { 
 
            trHTML += '<tr><td style=display:none;>' + item.PermID + '</td><td>' + item.Fname + '</td><td style=display:none;>' + item.formlinkname + '</td><td style=display:none;>' + item.Status + '</td><td><input id=Checkbox' + cnt + ' value=' + item.PermID + ',' + item.Fname + ' type=checkbox></td></tr>'; 
 
           } 
 
           cnt++; 
 
          }); 
 
          $('#records_table tbody').empty(); 
 
          $('#records_table tbody').append(trHTML); 
 

 
         } 
 
        }, 
 
        failure: function (response) { 
 
         alert("Error" + response); 
 
        } 
 
       }); 
 
      } 
 
     }); 
 
    }); 
 
</script> 
 
<script type="text/javascript"> 
 
    $(document).ready(function(){ 
 
     var favorite = []; 
 
     var chkuser; 
 
     $("#ddlUser").change(function(){ 
 
      chkuser = $("#ddlUser :selected").val(); 
 
     }); 
 
     $("#Submit1").click(function(){ 
 
      //alert(getvalue_func()); 
 
      favorite.push(getvalue_func()); 
 
      var favString = favorite.join(); 
 
      alert(chkuser+","+favString); 
 
      $.ajax({ 
 
       type: "POST", 
 
       url: "/Home/SetPermissionsuser", 
 
       data: JSON.stringify({ Username: "' + chkuser.toString() + '" }), 
 
       contentType: "application/json; charset=utf-8", 
 
       dataType: "json", 
 
       success: function (response) { 
 
        alert(response); 
 
       }, 
 
       failure: function (response) { 
 
        alert(response); 
 
       } 
 
      }); 
 
     }); 
 
     function getvalue_func() { 
 
      return $('#records_table input:checked').map(function() { 
 
       return this.value; 
 
      }).get().join(', '); 
 
     } 
 
    }); 
 
</script>
<div class="col-md-9 push-md-3 panel-warning" > 
 
\t <div class="content-box-header panel-heading"> 
 
\t \t <div class="panel-title ">Permission</div> 
 
\t \t \t <div class="panel-options"> 
 
\t \t \t \t <a href="#" data-rel="collapse"><i class="glyphicon glyphicon-refresh"></i></a> 
 
\t \t \t \t <a href="#" data-rel="reload"><i class="glyphicon glyphicon-cog"></i></a> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <div class="content-box-large box-with-header" style="font-family:Century Gothic;font-weight:bolder;font-size:12px"> 
 

 
       <div class="user-dashboard" id="Userwidth"> 
 
        <div class="row"> 
 
         <div class="col-md-5 col-sm-5 col-xs-12"> 
 
           <div class="sales"> 
 
            <h2>Select User :</h2> 
 
            <div class="btn"> 
 
              <select class="form-control" id="ddlUser" style="width:200px;"> 
 
              <option value="">Select</option> 
 
               @foreach (var item in Model) 
 
               { 
 
                <option>@item.UserName</option> 
 
               } 
 
             </select> 
 
            </div> 
 
           </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
       <div class="user-dashboard"> 
 
        <div class="row"> 
 
         <div class="col-md-5 col-sm-5 col-xs-12 gutter"> 
 
           <div class="sales nav navbar-nav"> 
 
            <h5>Select form which you want to give permission</h5> 
 
             <table class="table" id="records_table"> 
 
              <thead class="thead-inverse"> 
 
              <tr> 
 
               <th scope="row" style="display:none;">ID</th> 
 
               <th>Form Name</th> 
 
               <th style="display:none;">Form Link Name</th> 
 
              </tr> 
 
              </thead> 
 
              <tbody> 
 
            
 
              </tbody>        
 
             </table>  
 
           </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      @using (Html.BeginForm()) 
 
      { 
 
       <div class="user-dashboard"> 
 
       <div class="row"> 
 
        <div class="col-md-5 col-sm-5 col-xs-12"> 
 
         <div class="sales"> 
 
         <div class="form-group"> 
 
          <div class="col-xs-6 col-sm-4 "><input id="Submit1" type="submit" value="Submit" class="btn btn-primary" /></div> 
 
         </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
       </div> 
 
      } 
 
    </div> 
 
</div>

enter image description here

答えて

1

あなたはdataにオブジェクトを渡す必要があります。

$.ajax(
    { 
    type: "POST", 
    url: "/Home/GetPermissionDatail", 
    data: {Username: $("#ddlUser:selected").val()}, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    ... 
+0

<input class="Checkbox" id=Checkbox' + cnt + ' value=' + item.PermID + ',' + item.Fname + ' type=checkbox> 

隠しフィールド

<input type="hidden" id="hidObjects" name="hidObjects" value="0" /> <script type="text/javascript"> $(document).ready(function(){ var chkuser; $("#ddlUser").change(function(){ chkuser = $("#ddlUser :selected").val(); }); $("#Submit1").click(function(){ var SelectedIds = GetSelectCheckboxId(); $('#hidObjects').val(SelectedIds); $.ajax({ type: "POST", url: "/Home/SetPermissionsuser", data: JSON.stringify({ Username: "' + chkuser.toString() + '" }), contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { alert(response); }, failure: function (response) { alert(response); } }); }); }); function GetSelectCheckboxId() { var value = ""; $(".checkbox:checked").each(function() { if (value == "") value = $(this).val(); else value += "," + $(this).val(); }); return value; } </script> 

あなたは詳細に説明できますか..? –

+0

あなたのコードでは 'data'に文字列を渡します: '{Username: "' + $("#ddlUser:selected ")val()。toString()+ '"}' data:{Username:$( "#ddlUser:selected")。val()}オブジェクトを渡す必要があります。 –

0

は、私はあなた

ため、この意志は役に立ち願って、これを試してくださいチェックボックスを作成してチェックボックスにクラスを与えます。コントローラ

[HttpPost] 
public string YourActionName(FormCollection pFormObj) 
{ 
    string[] arr = pFormObj["hidObjects"].Split(','); 
} 
関連する問題