2012-02-23 24 views
0

を返し、ドロップダウン選択を提出する:それは唯一のドロップダウンボックスの値をとるようにjQueryの:私は、次のjQueryコードを持って成功メッセージ

$(document).ready(function(){ 
    $("form#submit").submit(function() { 
    // we want to store the values from the form input box, then send via ajax below 
    var fname = $('#fname').attr('value'); 
    var lname = $('#lname').attr('value'); 
     $.ajax({ 
      type: "POST", 
      url: "ajax.php", 
      data: "fname="+ fname +"& lname="+ lname, 
      success: function(){ 
       $('form#submit').hide(function(){$('div.success').fadeIn();}); 
      } 
     }); 
     return false; 
    }); 
}); 

どのように私はそれを変更することができますか?

+1

うーん、私たちは何も考えていない**あなたのhtmlがどのように見えるのか...私たちは考えていません**ドロップダウンとは何ですか? – Neal

+0

変数は安いです。私はデータ全体としてフォームを '.serialize()'します(使用している '手動'の方法と比較して)、バックエンドがどの部分が重要かを選択して選択させます。 ;-) –

答えて

0

jQuery ajaxメソッドのデータパラメータをオブジェクトとして渡すと、jQueryはすべての文字列をエンコードし、正しいURLを持ち、正しいデータがスクリプトに渡されます。例: あなたのドロップダウンボックスから値のみを通過させるために

data : {fname = fname, lname = lname } 

はこのよう

data: { your_variable : $('#id_of_drop_down_box').val() } 

がそれを行うので、あなたの方法は

$(document).ready(function(){ 
$("form#submit").submit(function() { 
// we want to store the values from the form input box, then send via ajax below 
var fname  = $('#fname').attr('value'); 
var lname  = $('#lname').attr('value'); 
    $.ajax({ 
     type: "POST", 
     url: "ajax.php", 
     data: { your_variable : $('#id_of_drop_down_box').val() }, 
     success: function(){ 
      $('form#submit').hide(function(){$('div.success').fadeIn();}); 

     } 
    }); 
return false; 
}); 
}); 

のようになりますと「your_variable」覚えているあなたの名前です。 PHPの$ _POSTグローバル変数から収集します。あなたはそれに名前を付けるのであれば「MyDropDownBoxは、」その後、PHPであなたはそれが

$var = $_POST["MyDropDownBox"] 

私は、これはあなたが適切なjQueryのメソッドを使用していない

0

役に立てば幸いアクセスします。 .attr('value')の代わりに.val()を使用してください。これはすべてのフォーム要素(input、textarea、select)に適用されます。あなたのドロップダウン選択した値を取得するために使用.valdata: { fname: fname, lname: lname }

0

- 、$.post()objectとしてデータを渡す - その他の提案は、POSTのために短い方法を使用することができます。

$(document).ready(function(){ 
    $("form#submit").submit(function() { 
    /* Get the dropdown selected value using .val() */ 
    var value = $("#dropdown").val(); 
    $.ajax({ 
     type: "POST", 
     url: "ajax.php", 
     /* Send dropdown selected value as a parameter */ 
     data: { dropdown: value }, 
     success: function(){ 
     $('form#submit').hide(function(){ 
      $('div.success').fadeIn(); 
     }); 
     } 
    }); 
    return false; 
    }); 
}); 

単に、あなたのドロップダウンのid#dropdownを変更します。

+0

動作しません。送信をクリックすると何かが起きるように見えますが、成功/失敗のメッセージは表示されません。 –

+0

@BrianByrne、ドロップダウンのidとdataパラメータをそれに応じて変更する必要があります。あなたはそれをしましたか? – Alexander

関連する問題