2016-11-30 2 views
-1

Ich möchte meine Tabellendaten mit Ajax ändern, aber onclick() Ereignis löst nichts aus. Hier ist der Code. (Onclick() Ereignis im letzten div-Tag geschrieben)onclick() löst meine Funktion nicht

@{ 
    ViewBag.Title = "Edit_Room"; 
    Layout = "~/Views/Shared/_LayoutAdmin.cshtml"; 
} 
<script src="~/Content/Scripts/jquery-3.1.1.js"></script> 
<script src="~/Content/Scripts/edtiRoom.js"></script> 

<h2>Edit_Room</h2> 
<div> 

    <div class="panel panel-default container"> 

     <div class="panel-body"> 
      <h2>Please enter required information</h2> 
       <div class="col-num2"> 
        <div> 
         <h3>Room Number</h3> 
         <select name="roomid" id="roomid"> 
          @foreach (var item in Model) 
          { 
           <option value="@item.Id">@item.Id</option> 
          } 
         </select> 
        </div> 
        <div> 
         <h3>Room Type</h3> 
         <input type="text" id="roomtype" name="type" pattern="[a-zA-Z]+" /> 
        </div> 
        <div> 
         <h3>Price</h3> 
         <input type="tel" id="price" name="price" pattern="^[0-9]*$" /> 
        </div> 
        <div> 
         <button type="button" onclick="editRoomFeatures()" class="btn btn-primary btn-lg"> 
          Update 
         </button> 
        </div> 

       </div> 
     </div> 
    </div> 

</div> 

Und hier ist die Funktion (geschrieben in edtiRoom.js-Datei), die ich auf den Knopf klicken anrufen möchten.

var editRoomFeatures = function() { 
     var roomid = $("#roomid").find('option:selected').text(); 
     var roomtype = $("#roomtype").val(); 
     var roomprice = $("#price").val(); 

     $.ajax({ 
       url: "Admin/Edit_Room_Features/", 
       type: "POST", 
       data: { roomid: roomid, roomtype: roomtype, roomprice: roomprice } 
      }) 
      .done(function() { 
       alert("Success"); 

       //alert(temp); 
       //$("#" + temp).html(partialViewResult); 
      }); 

    }; 

Diese "editRoomFeatures" wird dann diese Funktion im "Admin" -Controller aufrufen.

Aber wenn ich mein Projekt debuggen, passiert nichts auf Knopfdruck onclick.

+0

Warum verwenden Sie nicht den richtigen Event-Handler anstelle von 'onclick'? – empiric

+0

Alle Fehler in Ihrer Konsole? – empiric

+0

Nun, ich dachte, diese Methode war einfach –

Antwort

1
function editRoomFeatures() { 
     var roomid = $("#roomid").find('option:selected').text(); 
     var roomtype = $("#roomtype").val(); 
     var roomprice = $("#price").val(); 

     $.ajax({ 
       url: "Admin/Edit_Room_Features/", 
       type: "POST", 
       data: { roomid: roomid, roomtype: roomtype, roomprice: roomprice } 
      }) 
      .done(function() { 
       alert("Success"); 

       //alert(temp); 
       //$("#" + temp).html(partialViewResult); 
      }); 

    } 

keine Klammerung

benötigt
<button type="button" onclick="editRoomFeatures" class="btn 
btn-primary btn-lg"> 
          Update 
         </button> 
+0

versuchte es, noch nichts passierte –

+0

was ist $ (Dokument) .ready (function() {$ ('button'). click (editRoomFeatures);}); – Yaman

0

Halten Sie Ihre Funktion außerhalb $ (document) .ready. es wird klappen.