2014-03-26 87 views
0

問題時添加使用jQuery類:如何腳本完成

添加CSS類的輸入字段一次jQuery腳本已經完成。腳本是一個骰子函數,點擊它後會隨機生成1到6。該號碼將被存儲在名爲結果的變量中。我想檢查結果中的數字,並向value屬性中具有該數字的輸入字段添加一個類。

JS代碼:

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     $('.dice').on('click','li',function(){ 
       $('.cube').attr('class','cube '+$(this).attr('data-opt')) 
      }).on('click','.select',function(){ 
       $('.dice').toggleClass($(this).attr('data-opt')) 
      }).on('click','#spin',function(){ 
       var result = Math.round(Math.random()*5 + 1) 
       , angle = {} 
      $(this).data('n',$(this).data('n')?0:5); 
      var n = $(this).data('n'); 
      $('.cube').attr('style',''); 
      angle = {x:360*n,y:360*n} 

      switch (result){ 
       case 1: 
       break; 
       case 2: 
       angle.y = 360*n + 90; 
       break; 
       case 3: 
       angle.x = 360*n - 90; 
       break; 
       case 4: 
       angle.x = 360*n + 90; 
       break; 
       case 5: 
       angle.y = 360*n - 90; 
       break; 
       case 6: 
       angle.x = 360*n + 180; 
       break; 
      } 
      $('.cube').css({'-webkit-transform':'translateZ(-100px) rotateX(' + angle.x + 'deg) rotateY(' + angle.y + 'deg)','-webkit-transition':'3s'}) 

      $.ajax ({ 
       url: 'savedice.php', 
       data: {"diceId": result}, 
       type: 'post', 
       success: function(data) { 
        //Success 
       } 
      }); 

     }) 
    }); 
</script> 

HTML代碼:

<input class="number" name="alternative[]" type="text" value="1"> 
<input class="number" name="alternative[]" type="text" value="2"> 
<input class="number" name="alternative[]" type="text" value="3"> 
<input class="number" name="alternative[]" type="text" value="4"> 
<input class="number" name="alternative[]" type="text" value="5"> 
<input class="number" name="alternative[]" type="text" value="6"> 

我已經看過,並試圖用addClass(),但我一直無法弄清楚如何首先檢查變量結果針對不同的輸入字段。

如果變量結果有數字4,然後我想在這個問題上添加CSS類輸入字段的值爲4 不請求解決,但升值而指導。

+0

你能提供它的小提琴嗎? –

回答

1

試試這個:

if(result == 4){ 
    $('input[value="4"]').addClass('someclass'); 
} 
1

這樣的 -

if(result == 4){ 
    $('.number').filter(function(){return this.value === result;}).addClass('someClass'); 
} 
1

假設你有result輸入字段的值,因爲你說的問題

嘗試像這個:

$('input.number[value="'+result+'"]').addClass("MyClass"); 

請參閱DEMOHERE