我在 index.php :
中有这个JavaScript代码$(document).on('blur', '.first_name', function(){
var id = $(this).data("id1");
var first_name = $(this).text();
edit_data(id, first_name, "first_name");
});
$(document).on('blur', '.last_name', function(){
var id = $(this).data("id2");
var last_name = $(this).text();
edit_data(id,last_name, "last_name");
});
$(document).on('blur', '.gender', function(){
var id = $(this).data("id3");
var gender= $(this).text();
edit_data(id,gender, "gender");
});
AND select.php :
while($row = mysqli_fetch_array($result))
{
$output .= '
<tr>
<td class="first_name" data-id1="'.$row["id"].'" contenteditable>'.$row["first_name"].'</td>
<td class="last_name" data-id2="'.$row["id"].'" contenteditable>'.$row["last_name"].'</td>
<td><select class="type" data-id3="'.$row["id"].'">
<option>'.$row["gender"].'</option>
<option>male</option>
<option>female</option>
</select></td>
<td><button type="button" name="delete_btn" data-id3="'.$row["id"].'" class="btn btn-xs btn-danger btn_delete">x</button></td>
</tr>
';
}
此处 edit.php :
<?php
$connect = mysqli_connect("localhost", "root", "", "test");
$id = $_POST["id"];
$text = $_POST["text"];
$column_name = $_POST["column_name"];
$sql = "UPDATE tbl_sample SET ".$column_name."='".$text."' WHERE id='".$id."'";
if(mysqli_query($connect, $sql))
{
echo 'Data Updated';
}
?>
我的问题是,每次添加新数据时,性别选项中的所有文本都将保存到数据库中。我想只保存所选的选项。请帮帮我。
答案 0 :(得分:0)
性别选项中的所有文本都将保存到数据库
是的,这是使用$(this).text();
性别是选择输入,而不是文本字段(.text()
正常工作)。因此你应该使用
var gender= $(this).val();
修改:它.val()
,而非.value()
答案 1 :(得分:0)
$(document).on('blur', '.type', function(){
var id = $(this).data("id3");
var gender= $(this).val();
edit_data(id,gender, "gender");
});
使用此代码更新数据库中的用户性别类型。
首先你出错了性别元素,请使用 .type 而不是 .gender ,然后第二次抓取下拉列表中的所有文字,这不是很好的代码练习。在输入字段中使用此.val()
而不是.text()
。
PHP代码
$m = $row["gender"] == "male" ? "selected" : "";
$f = $row["gender"] == "female" ? "selected" : "";
$output .= '
<tr>
<td class="first_name" data-id1="' . $row["id"] . '" contenteditable>' . $row["first_name"] . '</td>
<td class="last_name" data-id2="' . $row["id"] . '" contenteditable>' . $row["last_name"] . '</td>
<td><select class="type" data-id3="' . $row["id"] . '">
<option>select</option>
<option value="male" ' . $m .'>male</option>
<option value="female" '. $f .'>female</option>
</select></td>
<td><button type="button" name="delete_btn" data-id3="' . $row["id"] . '" class="btn btn-xs btn-danger btn_delete">x</button></td>
</tr>
';