2015-04-23 34 views
3
$('select[name=\'service_id\']').bind('change', function() { 

    service_id = $('select[name=\'service_id\']').val(); 

    $.ajax({ 

     url: 'myajaxfile.php&service_id=' + service_id, 
     dataType : 'json', 
     success: function(json) { 

      var max_use = json.max_use; 
      var used = json.used; 
      var amount = json.amount; 

      $('input[name=\'max_use\']').val(max_use); 
      $('input[name=\'used\']').val(amount); 

     } 
    }); 
}); 

以上是我的一段代碼。我想要的只是將來自json結果的值綁定到兩個或更多未發生的文本框。 json的結果就像[{"max_use":"0","period":"30","amount":"99"}]這是非常正確的。在做一個警報,它的數量說未定義。如果指出我有什麼問題,會有很大幫助嗎?我試圖在stackoverflow上搜索,但沒有找到完美的解決方案。謝謝。把json的返回值從ajax放到一個或多個文本框中

+0

解析JSON第一。 –

+0

請你幫我一下嗎? –

回答

3

你JSON是在一個對象的數組。所以,你必須要麼改變JSON或訪問對象屬性那樣:

var max_use = json[0].max_use; 
var used = json[0].used; 
var amount = json[0].amount; 

你的情況適當的JSON看起來就像是:

{"max_use":"0","period":"30","amount":"99"} 

無[]

4

嘗試

var t = JSON.parse(json); 

var max_use = t[0]["max_use"]; 
var used = t[0]["used"]; 
var amount = t[0]["amount"]; 
+0

在JSON數據的第1行第2列給出錯誤JSON parse :: unexpected字符 \t var t = JSON.parse(json); –

+0

ajax dataType設置爲「json」,所以json變量包含對象,而不是字符串。 –

+0

@PreetiMaurya剛剛編輯..現在試試.. :) –

1

結果是一個數組,你在0的指數有價值,所以使用如下

result = [{"max_use":"0","period":"30","amount":"99"}][0] 

取如下

result.max_user 
result.period 
result.amount 

result["max_user"] 
result["period"] 
result["amount"] 
相關問題