jQuery Mobile формы, сочетающие элементы ввода

Можно ли сочетать флажок или кнопку с вводом текста при использовании jQuery mobile? Нечто подобное на моем изображении ниже.

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

1 ответ

JQuery Mobile не включает это, но вы можете сделать это с помощью CSS.

Вот ДЕМО с парой вариантов

Первый использует таблицу, поэтому левая кнопка всегда имеет одинаковый размер, а входные данные увеличиваются / уменьшаются при изменении размера окна. В то время как второй вариант использует кнопки div и bothe, а метка уменьшается.

Для таблицы css удаляет границы и интервалы в таблице и устанавливает для первой ширины td постоянное значение. Остальная часть CSS делает кнопку и ввод правильными:

<table id="specialContTbl">
  <tr>
    <td class="btntd">
      <button data-role="none" id="btn">B</button>
    </td>
    <td class="inptd">
      <input data-role="none" type="text" id="inp1" name="inp1" value="" placeholder="enter some text" />
    </td>
  </tr>
</table>

#specialContTbl {
    border-spacing: 0;
    border-collapse: collapsed;
}
#specialContTbl td {
    padding:0;
    margin: 0;
    border: 0;
    vertical-align: top;
}
#specialContTbl td:first-child{
    width: 60px;
}
#specialContTbl{
    width: 100%;
}
#specialContTbl button, #specialContTbl input {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#specialContTbl button {
    font-weight: normal;
    background: #00f050;
    padding: 5px;
    color: #333;
    border: 1px solid #d4d4d4;
    border-right: 0;
    border-bottom-left-radius:1em;
    border-top-left-radius: 1em;    
    line-height: 28px;
    height: 38px;
    width: 100%;
    float: left;
    text-align: center;
    cursor: pointer;
    white-space:nowrap;
}
#specialContTbl input {
    width: 100%;
    height: 38px;
    padding: 8px;
    border: 1px solid #d4d4d4;
    border-bottom-right-radius: 1em;
    border-top-right-radius: 1em;
    line-height: 18px;
    float: right;
    box-shadow: inset 0px 2px 2px #ececec;
}
#specialContTbl input:focus {
    outline: 0;
}
Другие вопросы по тегам