Я получаю предупреждение javascript undefined. Я хочу предупредить свой item_id, когда ввод задан в количестве, указанном в текстовом поле. Но когда я его даю, он выдает предупреждение undefined.
var item_id=$("#item_"+i).val();alert(item_id);
не показывает предупреждение в javascript. Моя модель и контроллер также не отображают этот элемент. Пожалуйста помоги
Мой вид:
<td style='width:20%' id='producttd_1'>
<select name='item[]' id='item_1' class = "form-control selectpicker" style='width:100%' data-show-subtext = "true" data-live-search = "true" >
<?php
if (!empty($prolist))
{
print_r($prolist);
foreach($prolist as $pro)
{
$opn1. = "<option value='".$pro['id']."'>".$pro['product_name']."</option>";
}
}
?>
</select>
</td>
<td style='width:7%'><input type='text' name='nos[]' id='nos_1' class = "form-control" style='width:100%'/></td>
<td style='width:7%'><input type='text' name='quantity[]' id='quantity_1' class = "form-control addrow quantity" style='width:100%' onKeyup='calc(1);'/></td>
<td style='width:7%'><input type='text' name='rate[]' id='rate_1' class = "form-control addrow" style='width:100%' onKeyup='calc(1);'/></td>
Мой аякс
function calc(i)
{
if (event.keyCode == 13) {
add_row();
}
else
{
var item_id=$("#item_"+i).val();
alert(item_id);
var rate=$("#rate_"+i).val();
//alert(rate);
if (item_id= = "")
{
alert("Select a product");
$("#item_"+i).focus();
}
else
{
var quantity=$("#quantity_"+i).val();
$.ajax({
url: '<?php echo base_url(); ?>sales/product_det',
data: ({"item_id":item_id,"quantity":quantity,"rate":rate }),
dataType: 'html',
type: 'post',
success: function(data) {
data=data.split("-");
$("#rate_"+i).val(data[0]);
$("#amount_"+i).val(data[1]);
$("#cgst_"+i).val(data[2]);
$("#sgst_"+i).val(data[3]);
$("#igst_"+i).val(data[4]);
calc_total();
}
});
}
}
}
Мой контроллер:
function product_det()
{
$item=$this->input->post('item_id');
echo $item;
$quantity=$this->input->post('quantity');
echo $quantity;
$rate=$this->input->post('rate');
$amount = "";
$cgst = "";
$sgst = "";
$igst = "";
$stock = "";
$product_det=$this->sale_model->get_productDet($item);
$stockdet=$this->sale_model->getstock($item);
if (!empty($product_det))
{
if ($rate= = "" || $rate==0)
{
$rate=$product_det['sale_rate'];
}
$amount=$rate*$quantity;
$cgst=$product_det['CGST'];
$sgst=$product_det['SGST'];
$igst=0;
}
echo $rate."/".$amount."/".$cgst."/".$sgst."/".$igst."/".$stockdet."/";
}
Моя модель:
function get_productDet($item)
{
$this->db->select('*');
$this->db->from('product');
$this->db->where('id',$item);
$res=$this->db->get()->row_array();
return $res;
}
Вы создали параметры выбора в $ opn1, но не распечатали его. Я уверен, что внутри select вы не получаете тега <option>.
Обратите внимание, что это будет работать только в браузерах, реализующих глобальный объект Event, это не сработает, например. в FireFox.
var item_id = $ ("# элемент _" + i) .val (); оповещение (item_id); пожалуйста, проверьте эту строку. использовать как это var itemid = "#item _" + i
Я уже выбрал категорию и элемент .. когда я выбираю количество .. мое предупреждение item_id показывает undefined..var amount = $ ("# quantity _" + i) .val (); $ .ajax ({url: '<? php echo base_url ();?> sales / product_det', data: ({"item_id": item_id, "amount": количество, "rate": rate}),
@Vinod kumar G ... когда я использую это, он не показывает никакой ценности ..



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Получить значение выбранного параметра, а не сам выбор:
var item_id=$("#item_1").find(":selected").text();
alert( item_id );
Я думаю, если вы ничего не выбрали в начале, ajax не распознает val ()