2017-02-05 10 views
2

У меня есть форма, в которой я хочу показать входное текстовое поле и отправить на ту же строку. Текстовое поле ввода содержит два значка FontAwesome, которые я хочу показать внутри текстового поля. Я могу создать форму, как я хочу, когда я не использую простой плагин Autocomplete. Но когда я активирую плагин easyAutocomplete, стиль уходит в сторону.Шрифт Awesome с easyAutocomplete plugin

Вот код:

HTML:

<form role="search" method="get" id="searchform" class="searchform" action=""> 
    <span class="fa fa-map-marker my-fa"></span> 
    <input type="text" value="" name="s" id="search-input" class="s" placeholder="Enter your Postcode" autocomplete="off"> 
    <img id="slider-loading" class="loading" src="https://www.imageupload.co.uk/images/2017/02/05/gps2.gif" /> 
    <input type="hidden" value="profile" name="post_type" id="post_type" /> 
    <input type="hidden" value="country" name="taxonomy" /> 
    <input type="submit" id="searchsubmit" value="GO" class="submit btn" /> 
</form> 

JQuery

var options = { 

    data: ["Cyclops", "Storm", "Mystique", "Wolverine", "Professor X", "Magneto"], 

    theme: "dark" 
}; 

$("#search-input").easyAutocomplete(options); 

CSS:

.searchform { 
    position: relative; 
    text-align: center; 
} 

.searchform input[type="text"] { 
    width: 400px; 
    font-size: 15px; 
    margin: 0px -3px 0px 0px; 
    text-indent: 18px; 
    padding: 15px; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    font-weight: 300; 
    font-family: 'Raleway', sans-serif; 
    border: solid 1px #bbb; 
    overflow: hidden; 
    border-radius: 4px; 
} 

.searchform input[type=text], 
.searchform input[type=text]:focus { 
    outline: none; 
} 

.searchform input[type=text]:focus { 
    border: none; 
} 

.searchform input[type="submit"] { 
    background-color: #f70808; 
    -webkit-box-shadow: 0 2px 0 #c60606; 
    -moz-box-shadow: 0 2px 0 #c60606; 
    box-shadow: 0 2px 0 #c60606; 
    color: white; 
    border: none; 
    letter-spacing: 1px; 
    padding: 15px; 
    font-size: 15px; 
    text-align: center; 
} 

.searchform input[type="submit"], 
.searchform input[type="text"] { 
    line-height: normal !important; 
    display: inline-block; 
} 

.my-fa { 
    font-family: 'FontAwesome'; 
    position: absolute; 
    z-index: 2; 
    color: #f70808; 
    font-size: 2.8em; 
    margin-left: 4px; 
    top: 4px; 
} 

#slider-loading { 
    position: relative; 
    top: 12px; 
    right: 35px; 
} 

Я хочу показать значок карты слева от текстового поля ввода и загрузочный счетчик справа от текстового поля ввода.

JSFiddle - с easyAutocomplete плагин

JsFiddle - без плагина

ответ

2

Вы можете добавить следующий код в ваш CSS:

.easy-autocomplete{ 
    display:inline; 
} 

Я думаю, что это дает желаемый исход.

Плагин обертывает входной сигнал в div, который по умолчанию имеет номер display:block и выдает другие элементы из строя.

Возможно, вам потребуется отрегулировать отступ/маржу по вашему усмотрению.

See updated fiddle

+1

Спасибо. Вот так! – input

+1

@input приветствуются. Я рад, что смог помочь – ochi