У меня есть следующие функции, чтобы сделать поиск в опциях избранного с помощью входного текста:JQuery перезагружать/обновить/повторный рендеринг выберите контроль
Этой функция выполняет поиск при каждом нажатии клавиши:
Позже я хочу сделать сравнение, чтобы узнать, что то, что я написал во входном тексте, такое же, как часть текста, содержащегося в одной из опций в выборе, я делаю сравнение, когда «введите ключ», или «клавиша табуляции»:
$('input#id_nit_del_cliente').keydown(function(e){
var keyCode = e.keyCode || e.which;
if (e.keyCode==9||e.keyCode==13) {
e.preventDefault();
var text=$("#id_cliente_idcliente option:selected").text().split(' ');
var nit = $('input#id_nit_del_cliente').val();
console.log("Nit del select:"+text[0]);
console.log("Nit del text:"+nit);
if(text[0]===nit)
{
$('input#id_codigo_producto').focus();
console.log("Solo nit:"+text[0]);
}
else {
alert('El cliente no existe');
$("#id_cliente_idcliente").selectmenu("refresh", true);
$('input#id_nit_del_cliente').val('');
$('input#id_nit_del_cliente').focus();
}
}
});
Весь этот код работает, но когда он входит в «else» второй функции, я вручную очищаю входной текст и записываю что-то еще, и он работает, но в третий раз он перестает работать, вот почему я хочу чтобы перезагрузить выделенный текст, потому что, когда я нажимаю кнопку обновления браузера, выбор все еще показывает последнее выбранное значение, но поиск снова работает, но после двух намерений он снова не работает. Я не могу использовать какой-либо подключаемый модуль jquery, потому что «выбирает», и все элементы формы автоматически генерируются DJango 1.8 ModelForm. Я попробовал selectmenu («обновить», истинный) метод, но лог консоли показывает это:
TypeError: $(...).selectmenu is not a function
Вот HTML:
<label>Cliente: </label><input id="id_nit_del_cliente" maxlength="13" name="nit_del_cliente" type="text" />
<select id="id_cliente_idcliente" name="cliente_idcliente">
<option value="" selected="selected">---------</option>
<option value="1">123456-k - Nombre: Esteban José López Ambrosio</option>
<option value="2">4543243-5 - Nombre: Nombre1 Apellido1</option>
<option value="3">843453-5 - Nombre: Persona Prueba Probando Fecha</option>
</select>
<label for="id_codigo_producto">Código: </label><input id="id_codigo_producto" maxlength="25" name="codigo_producto" type="text" />
Я также использую этот код, я нашел его где-то здесь, в StackOverflow (это не важно, работает):
$.extend($.expr[":"], {
"starts-with": function(elem, i, data, set) {
var text = $.trim($(elem).text()),
term = data[3];
// first index is 0
return text.indexOf(term) === 0;
},
"ends-with": function(elem, i, data, set) {
var text = $.trim($(elem).text()),
term = data[3];
// last index is last possible
return text.lastIndexOf(term) === text.length - term.length;
}
});
Вы хотите выбрать, чтобы вернуться к этому '<опция значение = "" selected = "selected"> --------- 'опция? –
@StephanSutter На самом деле, да, я хочу это сделать, как вы думаете, что решит мою проблему? Потому что я только то, что выбор был застрял, и выбранный вариант не имел значения, но если у вас есть решение, я попробую его: D – masozow
Не понимаю, вы сказали, что хотите найти варианты. Но почему вы ищете только выбранный вариант? Здесь 'var text = $ (" # id_cliente_idcliente option: selected "). Text(). Split ('');' –