因此,当我单击按钮Koala时,它需要显示按钮的id名称和与Koala相关的相应价格的消息
继承人我的HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="CSS/styles.css" rel="stylesheet" />
<script src="JS/scripts.js"></script>
<title></title>
</head>
<body onload="init();">
<div id="picBtn">
<div id="picKoala">
<img src="Images/koala_PNG8.png" alt="Koala" width="300" />
<div id="btnKoala">
<button type="button" name="btnKoalas" class="BtnButton"
onclick="getPrice('object1');">Koalas</button>
</div>
</div>
<div id="picTulip">
<img src="Images/laleh-piyaz.jpg" alt="Tulips" />
<div id="btnTulip">
<button type="button" name="btnTulips" class="BtnButton"
onclick="getPrice('object2');">Tulips</button>
</div>
</div>
<div id="picPenguin">
<img src="Images/penguin.jpg" alt="Penguins" />
<div id="btnPenguin">
<button type="button" name="btnPenguins" class="BtnButton"
onclick="getPrice('object3');">Penguins</button>
</div>
</div>
</div>
<div id="output"></div>
</body>
</html>
这是我到目前为止的javascript代码:
function init(ProdId, SupplierCode, Description, PictureName, QtyOnHand,
Price) {
var object1 = Object(1002, S1001, Koalas, koala_PNG8, 9, 119.95);
var object2 = Object(1003, S1002, Tulips, laleh-piyaz.jpg, 9, 7.95);
var object3 = Object(1004, S1003, Penguins, penguin.jpg, 9, 127.95);
document.getElementById(output).innerHTML = "btnKoalas" + Price;
}
我知道有一个简单的方法可以做到这一点,感谢任何回答的人的帮助!
您可以执行以下操作:
var object1 = {'ProdId': 1002, 'SupplierCode': 'S1001', 'Description': 'Koalas', 'PictureName': 'koala_PNG8', 'QtyOnHand': 9, 'Price': 119.95};
var object2 = {'ProdId': 1003, 'SupplierCode': 'S1002', 'Description': 'Tulips', 'PictureName': 'laleh-piyaz.jpg', 'QtyOnHand': 9, 'Price': 7.95};
var object3 = {'ProdId': 1004, 'SupplierCode': 'S1003', 'Description': 'Penguins', 'PictureName': 'penguin.jpg', 'QtyOnHand': 9, 'Price': 127.95};
function getPrice(object) {
document.getElementById('output').innerHTML = object.Description + ": " + object.Price;
}
<div id="picBtn">
<div id="picKoala">
<img src="Images/koala_PNG8.png" alt="Koala" width="300" />
<div id="btnKoala">
<button type="button" name="btnKoalas" class="BtnButton"
onclick="getPrice(object1);">Koalas</button>
</div>
</div>
<div id="picTulip">
<img src="Images/laleh-piyaz.jpg" alt="Tulips" />
<div id="btnTulip">
<button type="button" name="btnTulips" class="BtnButton"
onclick="getPrice(object2);">Tulips</button>
</div>
</div>
<div id="picPenguin">
<img src="Images/penguin.jpg" alt="Penguins" />
<div id="btnPenguin">
<button type="button" name="btnPenguins" class="BtnButton"
onclick="getPrice(object3);">Penguins</button>
</div>
</div>
</div>
<div id="output"></div>
这是你的代码的另一个版本(因为你标记了oop
我为产品添加了一个类。你肯定不会因为很多原因而不将你的数据编码到javascript中,但这应该让你开始。字符串,S1001
必须用单个或者javascript中的双引号被认为是有效的。
// This is a class in JS (older style)
function Product(data) {
var self = this;
self.ProdId = data.ProdId;
self.SupplierCode = data.SupplierCode;
self.Description = data.Description;
self.PictureName = data.PictureName;
self.QtyOnHand = data.QtyOnHand;
self.Price = data.Price;
}
// Here is a list of your products in an array of 'Products'
var items = [
new Product({
ProdId: 1001,
SupplierCode: 'S1001',
Description: 'Koalas',
PictureName: 'koala_PNG8',
QtyOnHand: 9,
Price: 119.95
}),
new Product({
ProdId: 1002,
SupplierCode: 'S1002',
Description: 'Tulips',
PictureName: 'laleh - piyaz.jpg',
QtyOnHand: 9,
Price: 119.95
}),
new Product({
ProdId: 1004,
SupplierCode: 'S1004',
Description: 'Penguins',
PictureName: 'penguins.jpg',
QtyOnHand: 9,
Price: 119.95
})
]
function getPrice(productId) {
var product = items.find(function(product) { return product.ProdId = productId });
alert(product.Description + " costs " + product.Price);
}
<body>
<div id="picBtn">
<div id="picKoala">
<img src="Images/koala_PNG8.png" alt="Koala" width="300" />
<div id="btnKoala">
<button type="button" name="btnKoalas" class="BtnButton" onclick="getPrice(1001);">Koalas</button>
</div>
</div>
<div id="picTulip">
<img src="Images/laleh-piyaz.jpg" alt="Tulips" />
<div id="btnTulip">
<button type="button" name="btnTulips" class="BtnButton" onclick="getPrice(1002);">Tulips</button>
</div>
</div>
<div id="picPenguin">
<img src="Images/penguin.jpg" alt="Penguins" />
<div id="btnPenguin">
<button type="button" name="btnPenguins" class="BtnButton" onclick="getPrice(1004);">Penguins</button>
</div>
</div>
</div>
<div id="output"></div>
</body>
</html>