2015-05-21 90 views
0
<div class="section"> 
<div class="section1"> 
    <input class="a gg1 k" type="number" name="q11" value="1" /> 
    <input class="a hh1 k" type="number" name="q12" value="1" /> 
    <input class="a kk1 k" type="number" name="q13" value="0" /> 
</div> 
<div class="section2"> 
    <input class="a gg2" type="number" name="q21" value="2" /> 
    <input class="a hh2 k" type="number" name="q22" value="1" /> 
    <input class="a kk2 k" type="number" name="q23" value="0" /> 
</div> 
<div class="section3"> 
    <input class="a gg3 k" type="number" name="q31" value="2" /> 
    <input class="a hh3 k" type="number" name="q32" value="3" /> 
    <input class="a kk3 k" type="number" name="q33" value="0" /> 
</div> 
<div class="section4"> 
    <input class="a gg4 k" type="number" name="q41" value="2" /> 
    <input class="a hh5 k" type="number" name="q42" value="4" /> 
    <input class="a kk5 k" type="number" name="q43" value="0" /> 
</div> 
</div> 

讓我說我有上面的html。如何獲得kk *值爲gg */hh *? (例如,kk1 = gg1/hh1)。該html是動態的,所以我需要一個通用的單個jquery函數來做這個計算需要每個計算...基於類名的動態計算

+0

對不起...能不能再解釋一下 –

+0

你在你的html中有一些錯誤,有些類型是數字,其他類型都是文本。你還試過了什麼? – Mivaweb

+0

要驗證'kk *'文本框的內容... –

回答

1

'[class*=gg]'將搜索任何地方包含gg類的元素。

$('.section').children().each(function() { 
    var val = parseInt($(this).find('[class*=gg]').val(), 10)/parseInt($(this).find('[class*=hh]').val(), 10); 

    $(this).find('[class*=kk]').val(val); 
}); 

演示:https://jsfiddle.net/tusharj/kya65sfa/

0

這樣的 - 如果你用了div的ID,並增加了ID每個輸入,這將是更安全域

$(function() { 
 
    $(".section>div").each(function() { 
 
    var idx = this.className.replace("section",""); 
 
    var kk = ($(".gg"+idx).val()/$(".hh"+idx).val()).toFixed(2); 
 
    $(".kk"+idx).val(kk); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="section"> 
 
<div class="section1"> 
 
    <input class="a gg1 k" type="number" name="q11" value="1" /> 
 
    <input class="a hh1 k" type="number" name="q12" value="1" /> 
 
    <input class="a kk1 k" type="number" name="q13" value="0" /> 
 
</div> 
 
<div class="section2"> 
 
    <input class="a gg2" type="number" name="q21" value="2" /> 
 
    <input class="a hh2 k" type="number" name="q22" value="1" /> 
 
    <input class="a kk2 k" type="number" name="q23" value="0" /> 
 
</div> 
 
<div class="section3"> 
 
    <input class="a gg3 k" type="number" name="q31" value="2" /> 
 
    <input class="a hh3 k" type="number" name="q32" value="3" /> 
 
    <input class="a kk3 k" type="number" name="q33" value="0" /> 
 
</div> 
 
<div class="section4"> 
 
    <input class="a gg4 k" type="number" name="q41" value="2" /> 
 
    <input class="a hh5 k" type="number" name="q42" value="4" /> 
 
    <input class="a kk5 k" type="number" name="q43" value="0" /> 
 
</div> 
 
</div>

0
$('.section div').each(function() { 
    var gg = $(this).find('[class*=gg]').val(), 
     hh = $(this).find('[class*=hh]').val(), 
     kk = ~~gg/~~hh; 
    $(this).find('[class*=kk]').val(kk) 
}); 

這得到值gg *和hh * from每個部分div並將結果放在kk *中。