2014-06-26 133 views
-1

我试图从jQuery中获得价值,认为它是将其他值存储到数据库中的条件。
这里是我的jQuery代码:POST方法不起作用

$('#button').click(function() { 
      var s; 
      $.each($('#main li.' + set.select + ' a'), function (index, value) { 
       s = $(this).attr('name');     
       alert(s); 

       $.post('random.php', 
       { 
        id:s 
       })    
      }); 

     }) 

,我借此s到PHP:

$con=mysqli_connect(" ") ; 


    $id=$_POST['s'] ; 

    if(substr($id,0,1)=='1'){ 
     $a = '24 june'; 
    } 
    else if(substr($id,0,1)=='2'){ 
     $a = '25 june'; 
    } 
    else if(substr($id,0,1)=='3'){ 
     $a = '26 june'; 
    } 
    else if(substr($id,0,1)=='4'){ 
     $a = '27 june'; 
    } 
    else if(substr($id,0,1)=='5'){ 
     $a = '26 june'; 
    } 
    mysqli_query($con,"UPDATE `comp1` SET `col1` ='Booked!' where Day = '$a' "); 

我的表中有一个名为“日”列,该列包含日期以上 我无法更新数据在行中,无论s是什么值,name都是一个数字。我也尝试使用toString作为name,但它没有奏效。

回答

3

$id=$_POST['s'] ;意味着你的价值的名字是s,但它是actaully id

你也传递attr =NAME从jQuery的这是不VALUE

s = $(this).attr('name');意味着你拉对象的name="string_here"

所以例如<input type="text" name="inputforid" value="10"/>

会给你val UE inputforid并希望值应该是什么

所以ATTR( “值”),或在jQuery的

.val()功能在这里阅读 - http://api.jquery.com/val/

+0

正确。而's'只是JavaScript中的一个赋值变量。 – JakeGould

+0

好的,谢谢,我得到了第一个,但我不完全得到attr('name'),我认为它现在是一个字符串,因此它可以通过 – user3761386

+0

@ user3761386阅读编辑 – vico

-1

可以使用的$ id = $ _ POST [的'],因为你的发布请求中的参数是id,s是值,所以试试 $ id = $ _ POST ['id']

而且s = $(this).attr('name');是具有属性'名称'的元素。