2017-10-09 48 views
1

我目前工作的一個Ajax調用,將更新一個文本框的值:如何使用JQuery Ajax更改文本框中的值?

<div id="PNIncrementDiv" style="position:absolute; left: 730px; top: 15px; width: 350px;" class=""> 

<input id="TBIncrementTextBox" class="textbox" type="text" style="position:absolute; top:25px; left: 75px; width: 60px; height: 40px;" runat="server" /> 

</div> 

我的AJAX功能,它返回一個整數,並經檢驗返回正確的答案是如下:

getIncrement: function (id) { 
       $.ajax({ 

        url: "<%=Session("BaseUri")%>" + '/handlers/DataEntry/SPC_InspectionInput.ashx', 
        type: 'GET', 
        data: { method: 'getIncrement', args: { IncrementId: id} }, 
        success: function (data) { 
         console.log(data); 
         Inc_Num = data; 
         $('#TBIncrementTextBox').val(data.toString());//nothing happens! 

        }, 
        error: function (a, b, c) { 
         alert(c); 
        } 
       }); 

      } 

但是,當我嘗試更改文本框的值時,沒有任何反應。我究竟做錯了什麼?

+2

確定輸入框中AJAX請求實際上正在製作並且成功?檢查控制檯,因爲你很可能有一些需要診斷和修復的錯誤 –

+0

網址以「and finish with with」開頭,但我認爲這不是問題 – Gaetano

+0

@Gaetano它是兩個單獨的字符串,第一個用'「分隔',第二個用'''。這很令人困惑,但它是有效的。我同意它應該改變。根本不需要追加字符串,因爲第一個值來自服務器。 –

回答

0

嘗試使用目標$('#PNIncrementDiv input').val(data.toString()); 如果這樣的作品,你的ASP.NET腳本是最有可能改變你的目標輸入的ID

2

試塗使用價值方法

$('#TBIncrementTextBox')[0].value = data.toString() 
getIncrement: function (id) { 
      $.ajax({ 

       url: "<%=Session("BaseUri")%>" + '/handlers/DataEntry/SPC_InspectionInput.ashx', 
       type: 'GET', 
       data: { method: 'getIncrement', args: { IncrementId: id} }, 
       success: function (data) { 
        console.log(data); 
        Inc_Num = data; 
        $('#TBIncrementTextBox')[0].value = data.toString();//nothing happens! 

       }, 
       error: function (a, b, c) { 
        alert(c); 
       } 
      }); 

     } 
+0

這會導致語法錯誤,因爲jQuery對象沒有'value'屬性 –

+0

感謝Rory我剛剛修復了它並進行了測試。但最好的辦法是獲得工作代碼,以確定是否有其他問題 –

+0

至少你已經修復了這個錯誤,但現在這在邏輯上是相同的。如果原文不奏效,那麼這也沒有理由。 –

相關問題