2017-02-24 94 views
-2

我在做一個練習,使我習慣了onchange事件處理程序和數組。我對要求我做的事情感到非常困擾。這裏是我的代碼:onchange事件處理程序練習

document.getElementById('productID').onchange = function() { 
    productID = this.value; 
    iName = imageName[productID]; 
    url = urlBase + iName; 
    iPrice = imageName[productID]; 
    document.getElementById('...').innerHTML = iPrice; 
}; 

這裏有說明。

  1. 處理選擇列表的onchange事件; ID「產品ID」

  2. 獲取選中的水果產品ID是這樣的:productID = this.value;

  3. 使用parseInt(),以確保產品ID值是一個數字。
  4. 使用到的productID引用數組imageName這種方式獲取所選產品的形象的名字:iName = imageName[productID];

  5. 結合urlBase +圖像的名字來獲取完整URL的形象。這樣做:url = urlBase + iName;

  6. 將url加載爲id爲'product image'的src。

  7. 通過使用productID和價格數組來獲得產品的價格。把產品的價格放在變量iPrice中。請參閱#4關於如何做到這一點。

  8. 將範圍「價格顯示」的innerHTML設置爲價格。這樣來做:document.getElementById('...').innerHTML = iPrice;

+0

你需要更具體一點,並告訴我們你究竟遇到了什麼問題。 – CBroe

+0

@CBroe我沒有做過,指示要求我做什麼?我真的不明白parseInt()是什麼意思,並且「將url作爲帶有id'產品圖像'的src加載」。 – Drstreaks

+1

_「我真的不明白parseInt()是什麼意思」_ - 然後在google中輸入'parseInt'。 _「,並將url加載爲id爲'product image」_的src,這意味着您應該創建您創建的URL並將其分配給具有該id的image元素的src屬性。 (儘管'產品圖像'在HTML中不是有效的ID。) – CBroe

回答

0
var imageName = { "1.jpg", "2.jpg", "3.jpg" }; 
var priceArray = { 200, 100, 489 }; 
var urlBase = "yourserver/path/where/product/images/are/stored"; 

document.getElementById('prodSelectTagid').onchange = function() { 
    productID = this.value; 
    if (isNaN(parseInt(productID))) { 
     alert("Not a valid product id"); 
    } else { 
     iName = imageName[productID]; 
     url = urlBase + iName; 
     document.getElementById("prodImg").src = url; //add <img id="prodImg" src="" /> in your html. 
     iPrice = priceArray[productID]; 
     document.getElementById('prodPriceDivTagId').innerHTML = iPrice; //<div id="prodPriceDivTagId" /> 
    } 
}; 

parseInt用於檢查值是否爲整數或沒有。如果值不是整數,則返回NaN(非數字),如果它是整數,則返回值本身。 src用於在HTML中設置<img>標記的來源,如上面代碼的註釋區域中所指定的。

0
document.getElementById('productID').onchange = function() { 
    var productID = parseInt(this.value); 
    var iName = imageName[productID]; 
    var url = urlBase + iName; 
    document.getElementById('product image').src = url; 
    var iPrice = price[productID]; 
    document.getElementById('price display').innerHTML = iPrice; 
};