我很难过这个。我将使用Onclick函数获取未知数量的隐藏和未隐藏(取决于用户在我的数据库中具有的信息量)。当点击每个unhidden div时,我通过AJAX传递它们的值并从php文件中获取一些文本。
function selectProduct(index) {
var option = document.getElementById('sel'+index).value;
var queryStringOne = "?option="+option;
http.open("GET", "product.php" +
queryStringOne, true);
http.onreadystatechange = getHttpResOne+index;
http.send(null);
}
function getHttpResOne(index) {
if (http.readyState == 4) {
resOne = http.responseText; // These following lines get the response and update the page
document.getElementById('prohidden'+index).innerHTML = resOne;
}
}
HTML
<div id="sel1" value="sel1" onClick="selectProduct(1); return false;">Select Item</div>
<div id="prohidden1" class="sel"></div> <!-- hidden -->
<div id="sel2" value="sel2" onClick="selectProduct(2); return false;">Select Item</div>
<div id="prohidden2" class="sel"></div><!-- hidden -->
我需要点击每个div的响应文本,以替换它下面的隐藏div。我无法将(索引)传递给getHttpRequestOne()函数。
答案 0 :(得分:1)
您始终可以向本机对象添加自定义属性。这可能不是最好的方式。但你可以试试这个。
function selectProduct(index) {
var option = document.getElementById('sel'+index).value;
var queryStringOne = "?option="+option;
http.open("GET", "product.php" +
queryStringOne, true);
http.onreadystatechange = getHttpResOne;
http.myCustomValue = index;
http.send(null);
}
function getHttpResOne() {
if (http.readyState == 4) {
resOne = http.responseText; // These following lines get the response and update the page
var index = http.myCustomValue;
document.getElementById('prohidden'+index).innerHTML = resOne;
}
}