2014-07-24 147 views
0

我有单选按钮jQuery发布的问题。我无法保存单选按钮值当我使用jQuery AJAX发布jQuery发布时点击单选按钮

这里是我的形式,点击单选按钮:

<?php 
    $jaw = mysql_query("SELECT * FROM jwb"); 
    $j=mysql_fetch_array($jaw); 
?> 
<div id="id_jwb"><?php echo $j['id_jwb'];?></div><?php echo $j['jwb'];?><br> 
<input type="radio" name="jwb1" value="A" id="jwb1" <?php if($j['jwb']=='A'){echo 'checked';}?>>A<br> 
<input type="radio" name="jwb1" value="B" id="jwb1" <?php if($j['jwb']=='B'){echo 'checked';}?>>B<br> 
<input type="radio" name="jwb1" value="C" id="jwb1" <?php if($j['jwb']=='C'){echo 'checked';}?>>C<br> 

这是我的jQuery的岗位:

$("#jwb1").click(function(){ 
       var jawaban = $("input[name=jwb1]:checked").val(); 
       var id_jawaban = $("#id_jwb").html(); 
       $.post('update_jwb.php',{ jwb: jawaban, id_jwb: id_jawaban }); 
}); 

这是我的PHP文件插入分贝:

$con = mysql_connect($host, $username, $password); 
mysql_select_db($database, $con); 

$jwb = $_POST['jwb']; // $_POST['jwb'] dari jQuery-post 
$id = $_POST['id_jwb']; 

$sql = "UPDATE jwb SET jwb='{$jwb}' WHERE id_jwb='$id'"; 
$query = mysql_query($sql, $con); 
if($query){ 
    echo 'sukses'; 
} 
else{ 
    echo 'gagal'; 
} 
+0

ID是唯一的 - jwb1 –

回答

0

问题是你的html/jQuery。您正尝试使用单选按钮的ID,但是所有三个单选按钮都具有相同的ID值,因此浏览器不知道您希望获取哪个值。您可以通过以下的jQuery它使用输入名称,而不是ID的解决这个问题,只有得到被检查:

$("input[name=jwb1]").click(function(){ 
    var jawaban = $("input[name=jwb1]:checked").val(); 
    var id_jawaban = $("input[name=jwb1]:checked").html(); 
    $.post('update_jwb.php',{ jwb: jawaban, id_jwb: id_jawaban }); 
}); 

而且我只注意到这些投入没有任何的单选按钮的值内部HTML因此...

$("input[name=jwb1]:checked").html() 

...不会返回任何所以“id_jwb”岗位价值永远是空的。这意味着你几乎可以摆脱这个后期价值。

如果你想提交一个值和选定的单选按钮的ID,那么你需要使每个单选按钮都有一个唯一的ID。然后使用以下jQuery:

$("input[name=jwb1]").click(function(){ 
    var jawaban = $("input[name=jwb1]:checked").val(); 
    var id_jawaban = $("input[name=jwb1]:checked").attr("id"); 
    $.post('update_jwb.php',{ jwb: jawaban, id_jwb: id_jawaban }); 
}); 
+0

哎冷静,我没有改变id_jwb,但我只改变这个 $( “输入[名称= jwb1]”)点击(函数(){//吉卡ID“jwb1 “diklik \t \t \t \t变种jawaban = $(” 输入[名称= jwb1]:检查 “);(#id_jwb”)的HTML(); \t VAL() \t \t \t \t变种id_jawaban = $。“。 ('update_jwb.php',{jwb:jawaban,id_jwb:id_jawaban}); \t \t \t}); 它的工作原理。谢谢你的帮助。 – aphe

0

每个id值只能在文档中使用一次。如果多个元素被分配了相同的ID,那么使用该ID的查询将仅选择DOM中第一个匹配的元素。不过,这种行为不应该依赖。具有多个使用相同ID的元素的文档无效。

因此,我建议你使用带有输入标签的类并使用类选择器来附加一个单击事件。

+0

感谢您的回答 – aphe