我已经构建了一个组合框,当我更改它时,我在onChange中使用了一个函数。我在这里使用document.getElementById().innerHTML=request.responseText
但我的问题是它返回文件qytetet.php的所有内容,但我想只返回字符串“第一阶段”,而不是其他字符串。
这是文件index.php中的函数:
function filtroQytet(rrethiId) {
var strURL="qytetet.php?rrethi="+rrethiId;
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('qytetidiv').innerHTML=req.responseText;
} else {
alert("Ka nje problem ne perdorimin e XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
而'qytetidiv'
也在index.php文件中,如下所示:
<tr>
<td> Qyteti </td>
<td><div id="qytetidiv">
<select name="qyteti">
<option>Zgjidhni rrethin me pare</option>
</select></div>
</td>
</tr>
虽然qytetet.php是:
<?php
$rrethi=intval($_GET['rrethi']);
include('connection.php');
$query="SELECT Id_qytet, Emri_qytet FROM qytetet WHERE Id_rrethit='$rrethi'";
$result=mysql_query($query);
?>
<select name="qytetet" onchange="filtroNivelin1(this.value)">
<div id="prova">
<option>The first phase</option>
</div>
<?php while($row=mysql_fetch_array($result)) { ?>
<option value=<?=$row['Id_qytet']?>><?=$row['Emri_qytet']?></option>
<?php } ?>
</select>
<br />
<select name="niveli1">
<option>The second phase</option>
</select>
所以我希望只有字符串“第一阶段出现”,而不是字符串“第二阶段”。如何修改document.getElementById('qytetidiv').innerHTML=req.responseText;
以仅返回qytetet.php的一部分,而不是所有内容?
请帮帮我。提前谢谢。
答案 0 :(得分:0)
在jQuery中,这是通过发送selector after the url to the load() method(向下滚动到&#34;加载页面片段&#34;以及它们如何执行此操作的源代码来完成的:https://github.com/jquery/jquery/blob/master/src/ajax/load.js#L62
如果你想自己做同样的事情,不使用jQuery,你可以加载整个文档,并使用document.queryselector
来获得你想要的部分。