2014-05-20 35 views
0

我停2天,爲尋找答案,
這是我的數據是這樣的:jQuery和JSON數組

場行有這樣的數據:

rows : 
[ 
    [ 
     "1", 
     "test1", 
     "pw85798", 
     "GM", 
     "38475786", 
     "yr", 
     "m", 
     "20-11-1972", 
     "100", 
     "[email protected]" 
    ], 
    [ 
     "11", 
     "test2", 
     "pw78423786", 
     "media", 
     "", 
     "yrer", 
     "m", 
     "11-05-1990", 
     "1", 
     "[email protected]" 
    ], 

我有2個文本框: usetextpwstext
我想要我的循環取文本中的2個值並查看數組內部,如果usrtext = "test1"pswtext = "pw85798"。然後將出現<div>。如果沒有,提醒"error"
我需要這段代碼繼續。

我嘗試這樣做:

db.openDoc(id, { 
    success:function (result) { 
     // Update revision input field 

     $("#revision").val(result.rows[0,1]); 

它返回所有的一級指標:

1, test1, pw85798, GM, , 38475786, yr, m, ... 
+0

你是說,oyu有一個JSON數據數組,你想比較輸入的數據用戶? –

+0

那麼在那2天裏,你嘗試了什麼? – musefan

+2

此外,安全似乎不是你的問題,所以你可能只是有一個「讓我進來」按鈕 – musefan

回答

1

我不建議你不應該使用這個代碼。

但我認爲這是按照您希望的方式工作的,儘管它確實沒有任何幫助。需要您自擔風險使用它。

我遍歷你的json數據並將用戶名和密碼匹配到文本框的內容。提供這個笑聲我真的不舒服。

'q'是一個包含json數據的JavaScript對象。

q.forEach(function(item) { 
    if($("#user").val() == item[1] && $("#pass").val() == item[2]) { 
     alert(1); 
     // do something 
    } else { 
     alert(2); 
     // do something else 
    } 
}); 

JSFiddle

+0

'q'是JSON數據?或JavaScript對象? – musefan

+1

這是一個JavaScript對象,更新了答案。謝謝! – cr0ss

+1

_「JSON數據」_ - > _「JavaScript對象表示法數據」_。 JSON是一個_「爲人類可讀的數據交換而設計的開放標準。」_這不是數據,它是格式化數據的一種方式。 – Cerbrus

0

這是我的網頁

<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
</head> 
    <script src="/_utils/script/jquery.js"></script> 
    <script src="/_utils/script/jquery.couch.js"></script> 
<body> 
<div id="databases"></div> 
<form> 
    <p> 
    <input name="usrtext" type="text" id="usrtext"/> 
    <br> 
    <input name="pswtext" type="text" id="pswtext"/> 
    </p> 
    <input id="test" type="text" name="test"/> 
    <p><br/> 
    <br/> 
    <input type="submit" value="Submit" id="login"/> 
    </p> 
</form> 
</body> 
    <script> 
var db = $.couch.db("aabc"); 
var id = "iams"; 
    //$('#login').submit(function() { 
    db.openDoc(id, { 
    success:function (result) { 
      result.rows.forEach(function(item) { 
      if($("#usrtext").val() == item[1] && $("#pswtext").val() == item[2])  
      { 
      alert(1); 
      $("#test").val(result._id); 
      } 
     else { 
      alert(2); 
      $("#test").val(result._rev); 
     // do something else 
      } 
      }); 

     } 
    //}) 
}); 
    </script> 
</html> 

的json數據

rows:[ 
    ["1","test1","12345","GM","7847427","alix","m","20-05-1975","100","[email protected]"], 
    ["11","test2","54321","media","","tom","m","","1","[email protected]"] 
    ] 

當頁面加載警報(2)火多次,我的行數,如果我有5它出現5次並且val(result._rev);是工作 ,但如果我介入正確的值,如test1和12345,警報(2)出現不警報(1)

+0

console.log('Testing'+ item [1] +'/'+ item [2]);它回來了「測試test1/12345」及其權利,但仍然沒有火警(1) – amrnavy

+0

最後它的工作,但仍然依靠循環,當場是正確的alert1火,但仍然循環,如果索引4的領域,三alert2火我需要,如果它沒有一個警報說沒有用戶 – amrnavy

+0

我通過做一個國旗處理,謝謝你@ cr0ss和musefan,你給我指路 – amrnavy