我在尝试搜索某些id时遇到ajax结果的问题,例如:0205P,04066H等,它正确地给我结果但是当我点击它时,在输入中是其他一些数字,如616,7,13 ......所以一切都很完美,除非我的搜索以0(零)开头。 我在数据库中的ID(MYSQL)是Varchar(8)。 这是我的代码:
dob.php
<input type="text" name="konto1" id="konto" class="form-control konto" value="<?php if(isset($_POST['konto1'])) echo $_POST['konto1']; ?><?php if(isset($_GET['konto1'])) echo $_GET['konto1'];?>" />
<div class="boja"><div style="margin-top: 0px" id="selectKonto" class="list-group"></div></div>
<script>
// ajax call
$('#konto').keyup(function() {
var konto = $(this).val();
$.ajax({
type: 'POST',
url: 'konto.php',
data: {
search: konto
},
beforeSend: function() {
$('#konto').css("background", "#FFF url(LoaderIcon.gif) no-repeat 165px");
},
success: function(data) {
if (!data.error) {
// var reply = data.replace(/\s+/, "");
$('#selectKonto').show();
$('#selectKonto').html(data);
$("#konto").css("background", "#FFF");
}
}
});
});
function selectKonto(val) {
$("#konto1").text(val);
$("#selectKonto").hide();
}
</script>
konto.php
if(!empty($konto)) {
$q = "SELECT * FROM konto WHERE ... LIMIT 10";
$result = $db->query($q);
if(!$result){
die('QUERY FAILED' . $db->error);
}
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<div><font size="2em"><a href="#" class="list-group-item konto" style="width: 555px;border: 1px solid grey;"
onclick="selectKonto(\''.trim($row['kp_sif']).'\')">...
<script>
$('.konto').click(function() {
var text = $(this).html();
$('.ime-konto').html(text);
$("#selectKonto").hide();
});
</script>
P.S。数据库中的字段类型必须保持varchar,我不能将其更改为INT。
答案 0 :(得分:0)
因此,它可以在php中使用引号。
onclick="selectKonto(\''.trim($row['kp_sif']).'\')">
显然我在语法上还有其他问题。