2012-02-23 64 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 2012-02-23 20:32:39

+0

變量很便宜。我只需將'.serialize()'整個表單作爲數據(與您使用的'手動'方法對比),並讓後端選擇哪個部分是重要的。 ;-) – 2012-02-23 20:44:54

回答

0

這樣,但我建議你創建數據參數時的jQuery AJAX方法把它作爲對象,然後jQuery將所有編碼字符串,你就會有正確的網址,以及正確的數據將被傳遞給您的腳本。 例如

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"] 

我希望這有助於

0

您沒有使用正確的jQuery方法。使用.val()而不是.attr('value')。這適用於每個表單元素(input,textarea,select)。其他建議可以使用短方法POST - $.post(),傳遞您的數據object - data: { fname: fname, lname: lname }

0

使用.val讓你的下拉列表中選擇的值。

$(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; 
    }); 
}); 

僅僅修改#dropdown你下拉的id

+0

不起作用。當我點擊提交時似乎會發生,但成功/失敗消息從不顯示。 – 2012-02-23 20:57:31

+0

@BrianByrne,您需要相應地修改下拉的ID和數據參數。你做了嗎? – Alexander 2012-02-23 21:14:57