onchange
メソッドselect option
を xmlhttprequestで実装したい(私の場合、 jquery の使用は禁止されています)。
これが私のselect option
コードです:
<tr><td>
<form name="group" id="form1">
<select name="group" id="group" onchange="member();">
<option value="" disabled selected>Choose your group..</option>
<?php foreach ($userGroups['data'] as $groups) {
echo "<option value=\"".$groups['id']."\">".$groups['name']."</option>";
}?>
</select>
</form>
</td></tr>
<tr><td id="fetchmember">
<!-- I HAVE NO IDEA WHAT CODE THAT I SHOULD WRITE HERE -->
</td></tr>
入力を処理する PHP コード( fetchmember.php
)
<?php
include 'facebookauth.php';
$groupId = $_GET['group'];
$groupmember = $facebook->api('/'.$groupId.'/members');
$membergroup = $groupmember['data'];
foreach ($membergroup as $membergroups) {
echo "<li>".$membergroups['name']."</li>";
}
?>
選択したグループの 1 つからの配列結果( $membergroup
) :
Array ( [0] =>
Array ( [name] => Oryza NurFa
[administrator] =>
[id] => 1645819602 )
[1] =>
Array ( [name] => Muhammad Lathif Pambudi
[administrator] =>
[id] => 100000251643877 )
[2] =>
Array ( [name] => Novantio Bangun
[administrator] =>
[id] => 1152078197 )
[3] =>
Array ( [name] => Oliver Jordan
[administrator] =>
[id] => 1065251285 )
[4] =>
Array ( [name] => Fauzan Sandy
[administrator] =>
[id] => 1434833113 )
[5] =>
Array ( [name] => Arfan Fudyartanto D. N
[administrator] => 1
[id] => 1708602453 ) )
Javascript
<script type="text/javascript">
function member(str)
{
if (str==0)
{
document.getElementById("fetchmember").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("fetchmember").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","fetchmember.php?group="+str,true);
xmlhttp.send();
}
</script>
取得するデータは配列です。select
オプションが変更されるたびに ( onchange
)、スクリプトが をロードしfetchmember.php
て$membergroups['name']
(選択した Facebook グループのメンバーの名前) を自動的に出力するようにします。配列データを直接取得することはできますか? 配列を に変換する必要があると思いますXML/JSON
。その方法がわかりません。私のコードには、php、html、js のいずれであっても、まだ多くの欠陥があることを知っています。
助けてください。アドバイスをいただければ幸いです。ありがとうございました