需要帮助Ajax / Javascript

时间:2012-11-30 05:39:45

标签: javascript html ajax

我很难过这个。我将使用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()函数。

1 个答案:

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