JQuery Autocomplete. Ако елементът не може да бъде намерен,

Post Reply
User avatar
Ticketa
Турист
Турист
Posts: 366
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

JQuery Autocomplete. Ако елементът не може да бъде намерен,

Post by Ticketa » Fri Apr 19, 2019 9:04 am

JQuery Autocomplete. Ако елементът не може да бъде намерен, да се покаже „Натиснете Enter, за да вмъкнете в автодовършване“?


Правя нещо като комбо с автоматичен допинг.

Така че, когато потребителят въведе заявка, която няма опции за автоматично довършване, т.е. "ааа", искам автодовършването да се появи и да се покаже "Натиснете " Enter ", за да създадете маркер за " aaa "."

Не мога да намеря нищо по тази тема.


В момента кода, който ползвам (който само автоматично довършва маркера изглежда така:

add.php
[html]
<div class="form-group">
<label for="inputEmail3" class="col-sm-3 control-label">Търсене на маркер:</label>
<div class="col-sm-9">
<input type="text" id="ingredient-search" class="form-control">
<span class="help-text">Търсене на маркер за добавяне.</span>
</div>
</div><!-- /form-group -->
<div class="form-group">
<label for="inputEmail3" class="col-md-3 control-label">Маркери</label>
<div class="col-sm-9" id="ingredient-area">
</div>
</div><!-- /form-group -->



<script type="text/javascript">
jQuery(document).ready(function($) { // jQuery Start
$('#ingredient-search').autocomplete({
delay : 300,
minLength: 1,
source: function (request, response) {
$.ajax({
type: "GET",
url: "/get_tags.php",
data: {
query : request.term
},
dataType: 'JSON',
success: function (msg) {
response(msg);
}
});
},
//console.info('ui.item.value = ' + ui.item.value);
select: function(event, ui) {
console.log('ok');
event.preventDefault();
$('#ingredient-area').append('<input type="hidden" name="ingredientid_'+ui.item.value+'" id="ingredient_id_'+ui.item.value+'" value="'+ui.item.value+'">');
$('#ingredient-area').append('<div class="tag-label" id="ingredient-label-'+ui.item.value+'"><p>'+ui.item.label+'</p><p><input type="text" name="ingredient_amount_'+ui.item.value+'" value="1" size="10"> <input type="checkbox" name="ingredient_plural_'+ui.item.value+'" value="1"> множествено число? <input type="button" class="btn btn-danger btn-xs" value="X" onclick="delete_ingredient('+ui.item.value+')"></p></div>');
}
});
});
function delete_ingredient(id)
{
$('#ingredientid_'+id).remove();
$('#ingredient-label-'+id).remove();
}
</script>
[/html]



това е PHP частта.

Code: Select all

$name = isset&#40;$_GET&#91;'query'&#93;&#41; ? addslashes&#40;$_GET&#91;'query'&#93;&#41; &#58; "not found";
$sql = query&#40;"select `name` as `label`, `ing_id` as `value` from `news` WHERE `name` like '%".&#40;$name&#41;."%' "&#41;; 

$json = array&#40;&#41;;
if&#40;mysqli_num_rows&#40;$sql&#41; > 0&#41;&#123;
    while&#40;$row=mysqli_fetch_assoc&#40;$sql&#41;&#41;&#123;
        $json&#91;&#93;= $row;
    &#125;
&#125;
echo json_encode&#40;$json&#41;;

Към момента си работи безупречно - поне в мойте очи.

Въпроса е, че искам когато PHP върне нулев резултат т.е. нищо не е открило , да каже на jQuery -> хей искаш ли да добавиш този маркер?

И да изкочи прозорец за добавяне на нов маркер , но така че да не се "презарежда" страницата и да се изгубят до момента въведените данни
Last edited by Ticketa on Fri Apr 19, 2019 9:48 pm, edited 3 times in total.

User avatar
deam0n
Tourist Defender
Tourist Defender
Posts: 3010
Joined: Sat Oct 01, 2005 4:33 pm
Answers: 204
Location: Шопландия
Contact:

Post by deam0n » Fri Apr 19, 2019 1:46 pm

Аз лично не разбирам какъв ти е въпроса :)

User avatar
Ticketa
Турист
Турист
Posts: 366
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Post by Ticketa » Mon Apr 22, 2019 5:56 pm

Тук открих въпрос като моя: https://stackoverflow.com/questions/519 ... insert-int

Обаче така и не успях да стигна до приложение(на кода в стоковера) към моя код. Някой правел ли е нещо подобно и може ли да предложи решение?

Post Reply