2015-09-23 33 views
0

我有一个静态数据json对象。当我在搜索框中输入相应的滚动键(例如101)并按下按钮时,数值出现。如何在json合成器中退出或不退出数据?

如果我输入错误的滚动键,那么错误的滚动键应显示在警报中。否则,应显示相应的值。

正确的卷号不像101,102,103,104。 显示数据是好的,但错误的滚没有警报如何做到这一点。

我的代码是

$(document).ready(function(){ 
 
\t 
 

 
    
 
    var rollno = { 
 
    "101": [ {"name": "rohit", "rollNo": "1", "fname":"nro"}], 
 
    "102": [ {"name": "azadrohit", "rollNo": "2" , "fname":"nrodf"}], 
 
    "103": [ {"name": "rohitmalik", "rollNo": "3", "fname":"nrowexs"}], 
 
    "104": [ {"name": "azdm", "rollNo": "4" , "fname":"nrosjyed"}] 
 
    }; 
 
    
 
    
 
    $('#showD').on('click', function(){ 
 
    \t var rollnoINput = $('#searchDetails').val(); 
 
     var updateName = rollno[rollnoINput][0].name; 
 
     var updateRollNo = rollno[rollnoINput][0].rollNo; 
 
     var updateFname = rollno[rollnoINput][0].fname; 
 
     
 
     
 
     $('#rollNo').html(updateRollNo); 
 
    \t $('#cname').html(updateName); 
 
    \t $('#fname').html(updateFname); 
 
     
 
    }); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<input type="text" value="" id="searchDetails" /> 
 

 
<button id="showD">Click to result</button> 
 

 
<div id="rollNo"></div> 
 
<div id="cname"></div> 
 
<div id="fname"></div>

回答

1

你需要检查对象是否具有rollNoINput的关键。您可以通过检查type未定义来做到这一点。见下文。

$(document).ready(function() { 
 

 

 

 
var rollno = { 
 
    "101": [{ 
 
     "name": "rohit", 
 
     "rollNo": "1", 
 
     "fname": "nro" 
 
    }], 
 
    "102": [{ 
 
     "name": "azadrohit", 
 
     "rollNo": "2", 
 
     "fname": "nrodf" 
 
    }], 
 
    "103": [{ 
 
     "name": "rohitmalik", 
 
     "rollNo": "3", 
 
     "fname": "nrowexs" 
 
    }], 
 
    "104": [{ 
 
     "name": "azdm", 
 
     "rollNo": "4", 
 
     "fname": "nrosjyed" 
 
    }] 
 
}; 
 

 

 
$('#showD').on('click', function() { 
 
    var rollnoINput = $('#searchDetails').val(); 
 
    if (typeof(rollno[rollnoINput]) != 'undefined') { 
 
     var updateName = rollno[rollnoINput][0].name; 
 
     var updateRollNo = rollno[rollnoINput][0].rollNo; 
 
     var updateFname = rollno[rollnoINput][0].fname; 
 

 

 
     $('#rollNo').html(updateRollNo); 
 
     $('#cname').html(updateName); 
 
     $('#fname').html(updateFname); 
 
    } else { 
 
     alert(rollnoINput); 
 
    } 
 

 
}); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<input type="text" value="" id="searchDetails" /> 
 

 
<button id="showD">Click to result</button> 
 

 
<div id="rollNo"></div> 
 
<div id="cname"></div> 
 
<div id="fname"></div>

1

您可以使用hasOwnProperty检查对象属性的存在:

$('#showD').on('click', function(){ 
    var rollnoINput = $('#searchDetails').val(); 

    if (rollno.hasOwnProperty(rollnoINput)) { 
     var updateName = rollno[rollnoINput][0].name; 
     var updateRollNo = rollno[rollnoINput][0].rollNo; 
     var updateFname = rollno[rollnoINput][0].fname; 

     $('#rollNo').html(updateRollNo); 
     $('#cname').html(updateName); 
     $('#fname').html(updateFname); 

    } else { 
    alert('Property not found'); 
    } 

});