Я новичок в воспламенителе кода и jquery. У меня есть текстовое поле, в котором, если пользователь вводит какую-то вещь, он отображает данные в подсказке из базы данных. Здесь, в моей ситуации, я хочу, чтобы … у меня есть texbox с именем «bill no» .., что я хочу, если пользователь вводит счет нет в текстовом поле, он отображает данные против счета нет. Я не знаю, как я могу передавать данные с контроллера для просмотра в ajax, а затем после прохождения, как показать в подсказке, вот мой код
Bill No:<?php echo form_input($bill_no); ?> <input type="hidden" class="hiddenUrl"><span class="checkbillno" data-trigger="manual" data-title="bill no" data-content="here i want to display results"></span>
мой javascript
<script type="text/javascript"> $(document).ready(function(){ $('#bill_no').blur(function(){ if( $('#bill_no').val().length >= 3 ) { var bill_no = $('#bill_no').val(); getResult(bill_no); } return false; }) function getResult(billno){ var baseurl = $('.hiddenUrl').val(); $('.checkbillno').addClass('preloader'); $.ajax({ url : baseurl + 'Controller/checkBillNo/' + billno, cache : false, success : function(response){ $('.checkbillno').removeClass('preloader'); if(response == 'userOk') $('.checkbillno').removeClass('preloader'); if(response == 'userOk') $('.checkUser').removeClass('userNo').addClass('userOk'); else $('.checkUser').removeClass('userOk').addClass('userNo'); } }) } })
.<script type="text/javascript"> $(document).ready(function(){ $('#bill_no').blur(function(){ if( $('#bill_no').val().length >= 3 ) { var bill_no = $('#bill_no').val(); getResult(bill_no); } return false; }) function getResult(billno){ var baseurl = $('.hiddenUrl').val(); $('.checkbillno').addClass('preloader'); $.ajax({ url : baseurl + 'Controller/checkBillNo/' + billno, cache : false, success : function(response){ $('.checkbillno').removeClass('preloader'); if(response == 'userOk') $('.checkbillno').removeClass('preloader'); if(response == 'userOk') $('.checkUser').removeClass('userNo').addClass('userOk'); else $('.checkUser').removeClass('userOk').addClass('userNo'); } }) } })
.<script type="text/javascript"> $(document).ready(function(){ $('#bill_no').blur(function(){ if( $('#bill_no').val().length >= 3 ) { var bill_no = $('#bill_no').val(); getResult(bill_no); } return false; }) function getResult(billno){ var baseurl = $('.hiddenUrl').val(); $('.checkbillno').addClass('preloader'); $.ajax({ url : baseurl + 'Controller/checkBillNo/' + billno, cache : false, success : function(response){ $('.checkbillno').removeClass('preloader'); if(response == 'userOk') $('.checkbillno').removeClass('preloader'); if(response == 'userOk') $('.checkUser').removeClass('userNo').addClass('userOk'); else $('.checkUser').removeClass('userOk').addClass('userNo'); } }) } })
.<script type="text/javascript"> $(document).ready(function(){ $('#bill_no').blur(function(){ if( $('#bill_no').val().length >= 3 ) { var bill_no = $('#bill_no').val(); getResult(bill_no); } return false; }) function getResult(billno){ var baseurl = $('.hiddenUrl').val(); $('.checkbillno').addClass('preloader'); $.ajax({ url : baseurl + 'Controller/checkBillNo/' + billno, cache : false, success : function(response){ $('.checkbillno').removeClass('preloader'); if(response == 'userOk') $('.checkbillno').removeClass('preloader'); if(response == 'userOk') $('.checkUser').removeClass('userNo').addClass('userOk'); else $('.checkUser').removeClass('userOk').addClass('userNo'); } }) } })
вот то, что я делаю, это то, что он просто проверяет счет в базе данных, и если он доступен в базе данных, он добавляет класс «userok», иначе «userfalse» .. и здесь я хочу отображать данные, а также bill no..i знаю, как это сделать в модели, но не знаю, как я могу перейти от контроллера к ajax, а затем он показывает результат в подсказке
мой контроллер
function checkBillNo($billno){ $this->load->model('returnModel'); $query = $this->returnModel->checkBillNo($billno); if($query == 1 ) $data['result'] = $query; //how can i pass this result into view in tooltip... (span class) else echo 'userNo'; }
Полезным способом манипулирования данными является использование json в ваших типах данных:
function getResult(billno){ var baseurl = $('.hiddenUrl').val(); $('.checkbillno').addClass('preloader'); $.ajax({ url : baseurl + 'Controller/checkBillNo/' + billno, cache : false, dataType: 'json', success : function(response){ $('.checkbillno').attr('data-content', response.toolTip); } }) }
.function getResult(billno){ var baseurl = $('.hiddenUrl').val(); $('.checkbillno').addClass('preloader'); $.ajax({ url : baseurl + 'Controller/checkBillNo/' + billno, cache : false, dataType: 'json', success : function(response){ $('.checkbillno').attr('data-content', response.toolTip); } }) }
Теперь ваша функция js ожидает, что json закодированный массив станет ответом, поэтому в вашем контроллере вы можете сделать что-то вроде ниже:
$forToolTip = ''; foreach($query->result() as $row){ $forToolTip .= $row->key; } $result['toolTip'] = $forToolTip; echo json_encode($result);
Изменение переменных в соответствии с вашей концепцией