Автозавершать поле текста jquery с mysql (использовать то же поле несколько раз, чтобы добавлять больше выборов) [закрывшая]

Я не считаю много идею jquery. Я нуждаюсь в том, чтобы сделать поле текста autocompletable, что искал то, что у меня есть в базе данных, считаю эту часть покрытой более или менее этим кодом отсюда: http://www.codexworld.com/autocomplete-textbox-using-jquery-php-mysql/

Но то, в чем я нуждаюсь, так это что-то более сложное и я не умею даже не начинать это где.

Введя буквы или слова в области текста выходят у меня те, которые совпадают частично, или полностью, но я хочу в, когда я это кликну в одной из "подсказок", данные об этой проникните в array (id, цена, имя статьи, например), и что оказалось отраженным каким-то образом в коде html, а именно, что был визуальным для конечного пользователя. Выбрав одну из статей таблицы, я нуждаюсь в том, что поле текста, использованного раньше, чтобы искать "resetee" и pued, вновь использовать так же, а именно, искать другое слово и кликнув, эта была добавлена к array, чтобы сохранять эти данные и посылать их в формуляре.

Я не знаю, объяснился ли я правильно и принимаются подсказки, чтобы менять вопрос или титул, так как я не знаю, как описывать правильно то, что я ищу...

Спасибо.

Я ИЗДАЮ:

Вначале не известны все статьи они идут выбирать, так его может быть 1, как их может быть 20.

0
задан 16.01.2017, 18:20
0 ответов

Он мне кажется из-за видно в примере соединения, что ты поместил, что ты используешь autocomplete Jquery. Так что я нашел следующую ссылку с примером, который влезает с твоим запросом:

Пример Хкери Аутокомплете

Для того, чтобы оно функционировало, ты нуждаешься в двух частях, пример, который ты помещаешь, говорит тебе, как доставать данные с основания MySQL, так что вместо объекта, который приносит пример сайта JQuery, переменной Javascript projects

var projects = [
  {
    value: "jquery",
    label: "jQuery",
    desc: "the write less, do more, JavaScript library",
    icon: "jquery_32x32.png"
  },
  {
    value: "jquery-ui",
    label: "jQuery UI",
    desc: "the official user interface library for jQuery",
    icon: "jqueryui_32x32.png"
  },
  {
    value: "sizzlejs",
    label: "Sizzle JS",
    desc: "a pure-JavaScript CSS selector engine",
    icon: "sizzlejs_32x32.png"
  }
];

Это было бы нужно удалять это и заменять из-за того, что ты приносишь из базы данных.

Так что было бы нужно менять код примера, который ты помещаешь, для того, чтобы, когда себе сделает JSON Encode, он принес, если, объекты со всем info, который ты хочешь, я помещаю тебе пример, как он мог бы быть:

//get matched data from skills table
$query = $db->query("SELECT * FROM skills WHERE skill LIKE '%".$searchTerm."%' ORDER BY skill ASC");
$i = 0;
while ($row = $query->fetch_assoc()) {
    $data[$i]['id']     = $row['id'];
    $data[$i]['image']  = $row['image'];
    $data[$i]['name']   = $row['name'];
    $data[$i]['value']  = $row['value'];
    $i++;
}

//return json data
echo json_encode($data);

Сделав json_encode ты увидишь, что уже он берет форму, более похожую на array javascript projects примера страница JQuery, которую я поместил тебе.

Редактирование: Чтобы способствовать тому, чтобы он переместил данные о выборе в другую страницу PHP, ты можешь делать несколько вещей, в примере соединения, которое я поместил ранее:

 select: function( event, ui ) {
    $( "#project" ).val( ui.item.label ); //Como puedes ver en el objeto ui.item vienen los valores que vienen del JSON que mando el php que se creo anteriormente. En este caso #project podría ser el objeto hidden
    $( "#project-id" ).val( ui.item.value );
    $( "#project-description" ).html( ui.item.desc );
    $( "#project-icon" ).attr( "src", "images/" + ui.item.icon );

    return false;

В этом случае, поскольку об этом упоминает следующая статья Стакк Оверфлов на английском, ты можешь делать единственный элемент тип <input type ="hidden"> на котором используя JSON.stringify он превращается в другой объект JSON, который ты легко обрезаешь, манипулировать, послав в твою страницу target PHP.

Полный рукописный шрифт должен оставаться нечто похожее:

 <script>
$( function() {


$( "#project" ).autocomplete({
  minLength: 0,
  source: paginaFuente.php,
  focus: function( event, ui ) {
    $( "#project" ).val( ui.item.label );
    return false;
  },
  select: function( event, ui ) {
     //GENERAR UN SOLO ARRAY, CON LOS VALORES QUE VIENEN DE LA BASE DE DATOS
    var elems = [];
    elems.push(ui.item.label);
    elems.push(ui.item.value);
    elems.push(ui.item.picsrc);

    //GUARDAR EN CAMPO HIDDEN TODO; HECHO JSON usando JSON.stringify
    $('#input_hidden_field').val(JSON.stringify(elems)); //store array

    var value = $('#input_hidden_field').val(); //retrieve array
    value = JSON.parse(value);

    return false;
  }
})
.autocomplete( "instance" )._renderItem = function( ul, item ) {
  return $( "<li>" )
    .append( "<div>" + item.label + "<br>" + item.desc + "</div>" )
    .appendTo( ul );
};
} );
</script>

//LUEGO EN ALGUNA PARTE DEL BODY
<form id="test"  action="otherPhpPage.php">
<input type="hidden" id="input_hidden_field" value="" />
</form>

Я надеюсь, что это отвечает на твой вопрос.

1
ответ дан 03.12.2019, 17:40
  • 1
    И поскольку я могу делать для того, чтобы, когда, например я беру два " objetos" таблицы статьи, поскольку я могу с jquery посылать мой có я говорю php количество статей, которые я выбрал, и посылать это в переменную или array php? Я сожалею о том, что спрашиваю так, но дело в том, что все это json не tendgo ни разрабатывает как функционирует. А именно Сначала я делаю select моей таблицы, это помещаю в изменчивую дату, как ты помещаешь в твоем có я говорю. Но из-за которого está прокомментированный rleturn json датирует, что то, что делает echo конца? Как я работаю эти переменные в jquery, и как посылаю их php обратно? Спасибо. –  16.01.2017, 18:59
  • 2
    Чтобы посылать их по возвращении в PHP он fá cil: они должны идти в одном <form> для того, чтобы смогла быть посланной pá gina я предназначаю, для этого, внутри funció n Javascript, где автозавершать эту, ты должен способствовать тому, чтобы он взял каждую переменную, которая приходит в объекте, и себе написала в tag <hidden> это tendrí эксперт, который нужно делать в porció n có я говорю, что ты envié примера. Я издам мой ответ, чтобы это помещать. –  17.01.2017, 00:40
  • 3
    Уже издайте мой ответ. ты можешь проверять @PavloB. –  17.01.2017, 01:15
  • 4
    qué способ может открывать себе чат, лишенный, чтобы какие-то сомнения консультируются? –  17.01.2017, 18:24
  • 5
    привет @PavloB. дай мне почту и я пишу тебе или твой пользователь Skype. Привет! –  18.01.2017, 19:16