2014-02-13 3 views
0

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

У меня есть текстовый ввод и рядом с ним и ввод номера. То, что я хочу сделать, это изменить значение ввода текста при изменении ввода номера. Но я не хочу полностью менять стоимость.

Это, по существу, что я в настоящее время:

<input id='field_4' name='4' value='64_to_74_weight_3'/> 
<input id='field_4-weight' type='number' min='1' max='5' value='3' data-for='#field_4' /> 

То, что я пытаюсь сделать, это изменить только номер после weight_ соответствует число выбирается с помощью ввода номера. Я знаю, что могу получить последний символ, используя срез (-1), но я не могу заставить его изменить его, сохраняя остальную часть значения текстового ввода.

Может ли кто-нибудь помочь в этом? Thank you

Редактировать: Я использовал что-то похожее на нижеследующее и думал, что это сработает, но фигура jQuery будет лучше, но я не мог заставить ее работать над jsFiddle.

function updateInput(weight){ 
    document.getElementById('field_" . $filter->id . "').value.slice(-1) = weight; 
} 
+0

Покажите нам код, который вы пытались. – Satpal

ответ

0
$("#field_4-weight").on('change', function() { 
    var txtField = $("#field_4"), 
     txt = txtField.val(); 
    txtField.val(txt.slice(0, txt.length-1) + $(this).val()); 
}); 
+0

Это сработало отлично! Спасибо. Я думаю, когда я пытался это сделать в jsFiddle, я уже думал о том, что имеет тенденцию происходить, когда вы некоторое время смотрите на тот же код. Еще раз спасибо, отмечен как принято :) – stinkysGTI

Смежные вопросы