2012-04-23 13 views
0

ユーザーがラジオをクリックして変数を設定した後、2番目のラジオをクリックして2番目の変数を作成するようにしようとしています。変数を正しく取得する方法がわかりません

次に、これらの2つの変数をマージし、作成された変数に基づいてajaxでデータをロードします。それをテストするには、ボタンをクリックして、変数がそこにあるかどうかをテストするだけでクリックできましたが、表示されないので、何か正しいことをしていないと仮定しています。

私はあなたの助けに本当に感謝しています。私はこれに非常に慣れていて、多くの問題を抱えています。あなたの関数のスコープ外の変数宣言を持っているあなたのコードでは

$("input:radio").change(function() { 

    var selected = $("input:radio:checked"); 

    if (selected.length === 2) { 
     var f = $("input[name='f']:checked").val(); 
     var z = $("input[name='z']:checked").val();   
     alert('we have values ['+z+f+']'); 
    } 

}); 

ので、あなたは、あなたがしたい変数を取得できませんでした:

<script type="text/javascript"> 
    $(function(){ 
    $("input:radio[name=f_1]").click(function() { 
     type = $(this).val(); 
    }); 

    $("input:radio[name=f_1a]").click(function() { 
     prod = $(this).val(); 
    }); 

    var type, prod; 
    var JobType = type + prod; 
    $("#alertButton").click(function(){ 
     alert (JobType); 
    }); 
    }); 
</script> 
+0

があります。変数のセットの周りにparseInt()を入れてみてください。例えば。 prod = parseInt($(this).val());あなたは+多分jsが何らかの理由で2つの文字列を追加する際に問題を抱えている+を使用しています。 –

+0

+1コードを投稿していただきありがとうございます。 「それは現れていません」とはどういう意味ですか?空白のアラートが表示される、またはアラートがまったく表示されますか? –

+0

何かのようなもの... [this](http://jsfiddle.net/drinchev/rzSgy/) – drinchev

答えて

0

は、次のコードを使用することができます。

+0

これには、無線の値は2文字でなければなりませんか? – theFAILcoder

+0

[no](http://www.w3schools.com/js/js_variables.asp) – drinchev

+0

複数の投稿について申し訳ありませんが、私はそれが同じであることを認識していませんでした。私はページの構造を台無しにする変数を追加しました。これは、変数が私が望むように動作していないということでした。 – theFAILcoder

0

変数は、関数内にないため、ページの読み込み時にのみ(空の場合)結合されます。

上部にあなたの変数を宣言して、彼らが実際に値を持っている場合、クリック機能の内部変数の接合を入れて、それだけで正常に動作します:

$(function(){ 
    var type="", prod="", JobType=""; 

    $("input:radio[name=f_1]").click(function() { 
     type = $(this).val(); 
    }); 

    $("input:radio[name=f_1a]").click(function() { 
     prod = $(this).val(); 
    }); 


    $("#alertButton").click(function(){ 
     JobType = type + prod; 
     alert (JobType); 
    }); 
});​ 

あなたは、変数に初期値を与えた場合何もない( "")、あなたは "未定義の"問題を避けます。

ここには、FIDDLE

関連する問題