2015-01-09 4 views
0

Я пытаюсь использовать функцию jquery .val (vaue) для установки значения атрибута с использованием следующего кода..val (value) jquery not working

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 

<script> 
    $(document).ready(function(){ 

     $(".qty-btn").click(function(){  

      var $qtyBox = $(".qty-btn").parent().find(".qty-box"); 
      var $qtyBoxQty = $qtyBox.text(); 
      var newVal = $qtyBoxQty; 
      var form = $(".qty-btn").closest("form"); 

      if($qtyBoxQty > 0){ 
       newVal = eval(parseInt($qtyBoxQty) - 1); 
       $qtyBox.text(newVal); 
      } 

      alert(newVal); 

      $(".qty-btn").parent().find(".quantity").val(newVal); 
      alert("value = " + $(".qty-btn").parent().find(".quantity").val()); 
     });      


     $("button").click(function(){ 
      $("input:text").val("Glenn Quagmire"); 
     }); 
    }); 
</script> 

</head> 
<body> 
<table class="table table-shopping-cart"> 
    <form action="" method="post" > 
     <div class="control-group quantity"> 
      <div class="controls"> 
       <a href="#" class="qty-btn qty-btn-minus">-</a> 
       <div class="qty-box">7</div> 
       <a href="#" class='qty-btn qty-btn-plus blur'>+</a> 
       <span style="display:none;" class="maxQty">1</span> 
       <select name="quantity" style="width: 60px" class="quantity" scliid="261021" id="quantity" > 
        <option value="3" selected="selected" >4</option> 
       </select> 
      </div> 
     </div> 
    </form> 
</table> 
</body> 
</html> 

Сейчас этот код не производит желаемого результата, как строки кода:

$(".qty-btn").parent().find(".quantity").val(newVal); 

не работает. тогда как следующие работы:

alert("value = " + $(".qty-btn").parent().find(".quantity").val()); 

Что я здесь делаю неправильно?

+0

Уточните, пожалуйста, какие результаты у вас есть и какой результат вы ожидаете. –

+0

Значение, которое вы хотите выбрать, отсутствует в из выбранного меню. Добавьте его в свои параметры. Вы можете установить для него только одно значение «3» –

ответ

0

На самом деле .quantity является select и когда вы установите значение для выбора это означает, что option с этим значением должен присутствовать в select, но здесь у вас есть только один вариант в выбрать и его value is 3 и когда вы установите значение выбрать для newVal он не выбран.

<select name="quantity" id="quantity" style="width: 60px" class="quantity" scliid="261021" id="quantity" > 
       <option value="3" selected="selected" >4</option> 
       <option value="4" selected="selected" >5</option> 
</select> 

Это будет выбрать вариант со значением 4

$("#quantity").val("4"); 

И это ничего не

$("#quantity").val("10"); 
0
$("select.quantity option:selected").val(); 

Чтобы убедиться, что вы получите SELECTED количество делать.

0

я уменьшил свой код к этому:

<div class="controls"> 
    <a href="#" class="qty-btn-minus">-</a> 
    <a href="#" class='qty-btn-plus'>+</a> 
    <select id="quantity" style="width:60px" qt="0"></select> 
</div> 

и сделал плюс и минус функции ... Я не уверен, если это поможет, но я надеюсь, что да