需要帮助 Ajax / Javascript



我被这个难住了。我将使用Onclick功能进行未知数量的隐藏和未隐藏(取决于用户在我的数据库中拥有的信息量)。当单击每个未隐藏的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()函数时遇到问题。

您始终可以将自定义属性添加到本机对象。这可能不是最好的方法。但你可以试试这个。

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;    
    }
}

最新更新