开发者

Using JSON to select a Dropbox option

开发者 https://www.devze.com 2023-03-27 21:59 出处:网络
I am using Json to retrieve elements from mysql and insert them into form boxes.Displaying in form boxes(text type) was not a problem but in my html one of my form structure is dropbox ...How should i

I am using Json to retrieve elements from mysql and insert them into form boxes. Displaying in form boxes(text type) was not a problem but in my html one of my form structure is dropbox ... How should i display info that is in the database to the one that is in dropbox??

Here is the code that i used for displaying elements in form type (text). One of them is dropbox in the html.

<html>
<head>
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript">
$(document).ready(function(){
$("#button1").click(function(){
$.post('script_1.php', { id: $('input[name="id"]', '#myForm').val() },
function(json) {
$("input[name='title']").val(json.title);
$("input[name='rno']").val(json.rno); 
$("input[name='url']").val(json.url); 
}, "json");
});
</script>
</head>
<body>
<form id="myForm" method="post">
id: <input type="text" name="id"/>
<input type="button" id="button1" value ="Get"/>
<input type开发者_运维知识库="button" id="button2" value="Submit to script 2" />
<p>title:<input type="text" name="title"/></p>
<p>Report No:<input type="text" name="rno"/></p>
<p>URL:<input type="text" name="url"/></p>
Institution: <select name="institution">
<option value="abc">abc</option>
<option value="cdf">cdf</option> 
</select>
</form>
<div id="age"></div>
</body>
</html>

PHP part or script_1.php

<?php

 ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE);
//connect to DB part
$name = mysql_real_escape_string($_POST['id']);
$sql ="SELECT * FROM parentid WHERE id = '$name'";       
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
**//i am not using $row['institution'] (no institution or dropbox part)**
$abc_output = array('title' => $row['title'],'rno' => $row['reportno'],'url' => $row['calc_url']);
}
}
echo json_encode($abc_output);

 }

}
?>

Help appreciated.John.


var option1 = new Option("InstitutionName1","InsitutionValue1");
var option2 = new Option("InstitutionName2","InsitutionValue2");
document.myForm.institution.options.length = 0;
document.myForm.institution.options[0] = option0;
document.myForm.institution.options[1] = option1;

This is the way its done normally. In this particular case, you may want to have a for loop or something or jQuery's each(..).


@John

You can put the following snnipet of code at the end of the script tag:

for (item in json.institution) {
      $('select[name="institution"]').html('').append('<option value="' + json.institution[item].value  + '">' + json.institution[item].text + '</option>');
}

where:

json.institution is a named array that will be returned along with the other form fields by your .php script.

json.institution[item].value is the value of each option.

json.institution[item].text is the text of each option.

The .html('') code is for clear the previous loaded select options.

0

精彩评论

暂无评论...
验证码 换一张
取 消