2017-01-22 9 views
0

これは私のコードです。。次のセレクタが動作しない

$(function() { 
 
var premium1 = $("#premium1").spinner({ 
 
    \t change: function(event, ui) { 
 
    \t \t if($("#premium1").spinner("value")!=0){ 
 
    \t \t \t CountGroupOne(this.id); 
 
    \t \t } 
 
    \t \t else 
 
    \t \t { 
 
    \t \t \t ShowAll(1); 
 
    \t \t } 
 
    \t \t 
 
    \t } 
 
    }); 
 
    }); 
 
function CountGroupOne(id){ 
 
    \t alert(id); 
 
    \t var price=$("#"+id).nextAll('input:first').val(); 
 
    \t alert(price); 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="premium1" type="number" name="premium[1][1][]" value="0" min='0' max='30'/><input type="number" hidden name="price[]" value="2"/>

私はidを取得するとアラートが私に恩返しですが、alert2は私にundefinedを与えます。どうしたの? HTMLシンプルな2つinput。ここで

+1

HTMLコードも入力してください。 –

+0

はい、正しいIDを取得し、htmlは正確なコードです。 – Gari

+0

生成されたコードをチェックします。 JQuery UIは新しいHTMLを生成します。この方法で次の入力を得ることはできません。 – sinisake

答えて

0

は、ソリューションです:

function CountGroupOne(id){ 
    alert(id); 
    var price=$("#"+id).parent().next('input').val(); 
    alert(price); 
    } 

jQueryのUIスピナーは、スパンを生成し、あなたの最初の入力がスパンに包まれて...

デモ:https://jsfiddle.net/54naesgp/

P.S.常に開発者ツールを使用し、生成されたhtmlを調べます。

+0

Np、喜んで助けてください。 ;) – sinisake

関連する問題