HTML

<div class="form-group">
<label class="col-md-4 control-label">input price</label>
<div class="col-md-8">
    <input class="form-control" placeholder="price" id='price'>
    </div>
</div>
<div class="form-group">
    <label class="col-md-4 control-label">Range</label>
    <div class="col-md-8">
        <select class="form-control"  disabled="disabled" name='range'>
            <option value=1>150.000</option>
            <option>200.000</option>
            <option>250.000</option>
            <option>300.000</option>
            <option>350.000</option>
            <option>400.000</option>
            <option>450.000</option>
        </select>
    </div>
</div>

JQuery скрипт:

<script>
$$(document).ready(function($){
    $("#price").mask("999.000");

    $("#price").on('keyup', function() {
        var price = $("#price").val();
        if(price <= 150000)
        {
            $('#range').val(150000);
        }
    });
});
</script>

Привет, ребята, что я пытаюсь сделать, это .. Когда я пишу цену (у нее есть маска), так что нужно только ввести 3 первых числа, ".000" устанавливается автоматически. Поэтому, когда число является типом, я проверяю введенное значение, а затем, в зависимости от этого значения цены, я хочу изменить значение #range, которое является выбранным.

Выбор отключен, потому что он будет установлен в зависимости от того, какое значение вставлено в цену. 0-150000, 150001-250000, 250001-3500001 .. и так далее

Как если бы y набирал СОБАКА, автоматически выбирался бы Животные.

0
Gucho Ca 3 Янв 2014 в 08:08

2 ответа

Лучший ответ

Попробуй это,

$(function () {
    $("#price").on('keyup', function () {
        var price = this.value; // use this.value instead of $("#precio").val();
        if (price <= 150000) {
            $('#range').val(150000);
        } else if (price>150000 && price <= 200000) {
            $('#range').val(200000);
        } else if (price>200000 && price <= 250000) {
            $('#range').val(250000);
        } else if (price>250000 && price <= 300000) {
            $('#range').val(300000);
        } else if (price>300000 && price <= 350000) {
            $('#range').val(350000);
        } else if (price>350000 && price <= 400000) {
           $('#range').val(400000);
        } else if (price>400000 && price <= 450000) {
            $('#range').val(450000);
        } 
    });
});

Добавьте value в параметры , например,

<select class="form-control"  disabled="disabled" name='range' id='range'>
    <option value="150000">150.000</option>
    <option value="200000">200.000</option>
    <option value="250000">250.000</option>
    <option value="300000">300.000</option>
    <option value="350000">350.000</option>
    <option value="400000">400.000</option>
    <option value="450000">450.000</option>
</select>

Также измените эту строку

$$(document).ready(function($){

К

$(document).ready(function(){

Рабочая демонстрация

1
Rohan Kumar 3 Янв 2014 в 04:38

Сделайте следующее исправление, в JS вы получаете доступ к $("#precio").val();, но нет идентификатора, поэтому используйте $("#price").val();

В готовом документе удалите $ из $ (document) .ready (function ($) {

Нет диапазона, поэтому $('#range').val(150000); as select имеет имя в качестве диапазона, но не id, поэтому обновите имя до id или используйте $('select[name=range]')

В ваших полях option нет значения, поэтому это ничего не обновит $('#range').val(200)

Проверьте http://jsfiddle.net/raunakkathuria/JHm29/ (я удалил функцию маски для демонстрации и добавили ценность только к двум вариантам, вы можете добавить их ко всем в соответствии с вашими требованиями)

1
Raunak Kathuria 3 Янв 2014 в 04:20