【发布时间】:2020-10-21 09:57:02
【问题描述】:
我有一些问题。我的库存产品尺寸为“100-199”的选择选项仅显示此:
如果我的产品有 1-99 和 200-999 的库存,我没有收到此错误。选择选项很好并显示一个数字。在我的例子中, stok s 和 stok m 显示数字的选择选项。
这是我的数据库:
这是我的控制器:
$data['stock'] = $this->Product_model->get_product_all($id);
这是我的模特:
public function get_product_all($id){
$this->db->select('products_shirt.*');
$this->db->from('products_shirt');
$query = $this->db->get();
return $query->row_array();
这是查看代码:
<select name="product_size" id="product_size" class="form-control" onchange="proses_stock()" style="width:95%">
<option value="0">Select Size:</option>
<option value="stock_s">s</option>
<option value="stock_m">m</option>
<option value="stock_l">L</option>
</select>
<select name="product_stock" id="product_stock" class="form-control" style="width:95%">
<option value="0">0</option>
</select>
这是 JavaScript 代码:
function proses_stock() {
var product_stock = document.getElementById("product_size").value;
var stocks = "<?php echo $stock['stock_s'];?>";
var stockm = "<?php echo $stock['stock_m'];?>";
var stockl = "<?php echo $stock['stock_l'];?>";
if(product_stock == "0") {
document.getElementById("product_stock").innerHTML = "<option value='0'>0</option>";
} else if (product_stock == "stock_s") {
disable_values(stocks); //add till this option
} else if (produk_stock == "stock_m") {
disable_values(stockm); //add till this option
} else {
//if large size select
//do somthing ..
disable_values(stockl); //add till this option
}
}
function disable_values(end) {
var gets = document.getElementById("product_stock");
var data="";
var limbuy = "<?php echo $stock['minorder'];?>";
var limbuys = 4;
//loop through all options
//for (var i = limbuys; i <= end; i++) {
for (var i = limbuy; i <= end; i++) {
//append options
data +="<option value="+i+">"+i+"</option>";
}
//add data to select box
gets.innerHTML= data;
}
当我使用var limbuys 所以var i = limbuys; 我得到正常的方式,如果我改变var limbuy 所以var i = limbuy; 并从数据库minorder 获取数据编号我发现这个问题。如果示例“在 stok L 中只有 100-199 库存”,我就会收到这个错误(看图片)。如果我选择尺码 s(最大库存 80)或尺码 m(最大库存 250)并且我使用 limbuy 很好,为什么?
我正在使用带有 bootsrap 的 codeigniter。感谢帮助
【问题讨论】:
-
在你的情况下,如果你的股票在 100-199 得到这个错误?所以对于 stock s 和 stock m 选择的选项很好吗?
-
是的,如果库存 s 有 123 或 164(100-199),则选择的选项是错误,不显示数字
-
你检查过
limbuy里面有什么吗?做一个alert(limbuy)看看它是否给你所需的价值。 -
如果您使用
limbuys,L 号库存 (100-199) 的价值是否正确?
标签: javascript php codeigniter bootstrap-4