发布SELECT元素值

时间:2009-08-11 09:37:03

标签: php jquery mysql

我使用jquery将数据发布到mysql。

 **In settings.php i have this short JS code:**

 $("form#submit").submit(function() {
    var fname     = $('#fname').attr('value');
    var lname     = $('#lname').attr('value'); 
    $.ajax({
        type: "POST",
        url: "settings.php",
        data: "fname="+ fname +"& lname="+ lname,
        success: function(){
            $('form#submit').hide();
            $('div.success').fadeIn();
        }
    });
return false;
});


**And this short php:**


 if (isset($_POST['fname'])){
        $fname        = htmlspecialchars(trim($_POST['fname']));
           DO SOMETHING....
 }

这是FNAME来自的代码:(在点击ADD图像按钮后,发布了fname值..)

echo "......
      <form id='submit$i' method='post'><input type='hidden' name='fname' id='fname' class='text' value='$fm_linkaz'></div><input name='add'type='image' id='add' value='$fm_linkaz' src='s.png'/></form>..........";

这很好用。但我需要一个SELECT元素,所以我将代码更改为:

 ......

   echo "<select name=dropdown_list id='**ONAME**'><option value''>test</option>";
   for($i=0; $i < count($myarray); $i++){
   echo "<option value='$myarray[$i]'>$myarray[$i]</option>";}echo "</select>";

   ......</form>";

这很好用,但我不知道如何修改JS代码,也可以发布所选值 谢谢你的帮助。

3 个答案:

答案 0 :(得分:1)

获取选定的使用值

jQuery('#**ONAME**').val();

虽然我不确定**ONAME**是否为有效ID,但请尝试删除**

答案 1 :(得分:1)

要获取值,请使用

$('select[name=dropdown_list]').val();

你也可以使用和ID,但我认为你有一些无效的字符,我怀疑这会有效:

$('select#**ONAME**').val();

无论如何.val()正是你要找的。我还建议使用val()代替attr('value')

答案 2 :(得分:1)

首先,javascript代码需要一些更新:

$('#fname').val()优于$('#fname').attr('value') - .val()也适用于选择/复选框 - .attr('value')不可靠。

第二:$ .ajax()调用的数据参数可以带一个json对象(它将转换为表单字符串)

$.ajax({
  type: "POST",
  url: "settings.php",
  data: {
    'fname': $('#fname').val(),
    'lname': $('#lname').val(),
    'oname': $('#oname').val()
  },
  success: function(){
    $('form#submit').hide();
    $('div.success').fadeIn();
  }
});

有一个plugin使这更容易:

$("form").ajaxForm({
   success: function(){
     $('form#submit').hide();
     $('div.success').fadeIn();
   }
});

<强>更新:

此外 - <select>元素被命名为“dropdown_list” - 也许您希望它以“oname”的形式提交数据。表单元素使用“name”属性来提交,id属性只使css / js选择器更容易编码。