Skip to content
Advertisement

Why The Select Option Didn’t Showing Number?

i have some problems. Where my stock produk size is “100-199” The Select Option just showing this :

enter image description here

If in my product have stock is 1-99 and 200-999 i didn’t get this error. The select option is fine and showing a number. In my case stok s and stok m the select option showing the number.

This my db :

enter image description here

This is my Controller :

$data['stock'] = $this->Product_model->get_product_all($id);

This is my Models :

public function get_product_all($id){    
    $this->db->select('products_shirt.*');
    $this->db->from('products_shirt');    
    $query = $this->db->get();
    return $query->row_array();

This is view code :

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

This is JavaScript Code :

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

When i’m use var limbuys so var i = limbuys; i get the normal way, and if i change with var limbuy so var i = limbuy; and get data number from database minorder i’m find this problem. And the problem just if example “in stok L just have 100-199 stock” i get this error(look picture). and if i pick size s (max stock 80) or size m (max stock 250) and im using limbuy its fine, why?

I’m using codeigniter with bootsrap. Thanks for help

Advertisement

Answer

This is happen because your limbuy and your end is a string

you can try use

for (var i = parseInt(limbuy); i <= parseInt(end); i++) {
    data +="<option value='"+i+"'>"+i+"</option>";
}
User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement