使用取决于预选的值填充选择列表

时间:2016-04-17 11:30:23

标签: javascript jquery

我希望有一个选择列表填充不同的值(价格),具体取决于在其他选择列表中选择的选项(销售或租赁)

所以我所做的就是首先创建出售和出租的数组。

然后获取jquery并执行更改事件以选择所做的选择。

然后是一个Switch语句,它应该填充有问题的选择列表,但它没有显示任何内容。虽然jquery是一个javascript库我不知道如果像我一样混合它们就好了:



    $('#transaction').change(function(){        
       $value = $('#transaction').val();
    var sale = [];
    for (var i = 350000; i <= 2000000; i+100000) {
        sale.push(i);
    }

    var rent = [];
    for (var i = 500; i <= 6000; i+100) {
        rent.push(i);
    }
        
      switch($value) {
        case 'sale':       
    $.each(sale, function(key, value){                 
    $('#price').append('<option value="' + index+ '">' + value + '</option>')             
            break;        
        case 'rent':       
            break;
        }); // end of each    
      } // end of switch
}) ; //end of jquery snippet
    
&#13;
   <div class="row">
      <div class="col-md-2 col-md-offset-1">
      <div class="form-group">
        {{Form::label('transaction', 'Transaction')}}
        <select name="transaction" id="transaction" class="form-control">
            <option value="select">Select</option>
            <option value="sale">Sale</option>
            <option value="rent">Rent</option>
            <option value="holiday">Holiday</option>
        </select>
      
      </div>
      </div>
    
      <div class="col-md-2">
      <div class="form-group">
        {{Form::label('price', 'Price')}}
        <select name="price" id="price" class="form-control">
        </select>          
      </div>
      </div>    
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

您的select标记中没有options元素,因此它永远不会从此语句中获取$ value: - $value = ('#transaction').val();

插入选项标签,然后运行您的示例。

答案 1 :(得分:0)

所有学分归Keith Wood(悉尼)

$(function() {
    $('#transaction').change(function() {
        var sale = [];
        for (var i = 350000; i <= 2000000; i += 100000) {
        sale.push(i);
        }
        var rent = [];
        for (var i = 500; i <= 6000; i += 100) {
        rent.push(i);
        }
        var option = $('#transaction').val();
    var prices = (option === '1' ? sale : (option === '2' ? rent : []));
        var options = '';
        $.each(prices, function(key, value) {                 
      options += '<option value="' + value + '">' + value + '</option>';
        });
        $('#price').html(options);
    });
});


<div class="col-md-2 col-md-offset-1">
      <div class="form-group">
        {{Form::label('street', 'Transaction')}}
        <select name="transaction" id="transaction" class="form-control">
            <option value="0">Select</option>
            <option value="1">Sale</option>
            <option value="2">Rent</option>
            <option value="3">Holiday</option>
        </select>

      </div>
      </div>



<div class="col-md-2">
      <div class="form-group">
        {{Form::label('price', 'Price')}}
        <select name="price" id="price" class="form-control">
        </select>

      </div>
      </div>