Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据jQuery/JS中的另一个选择显示更多选择 选择:_Javascript_Jquery - Fatal编程技术网

Javascript 根据jQuery/JS中的另一个选择显示更多选择 选择:

Javascript 根据jQuery/JS中的另一个选择显示更多选择 选择:,javascript,jquery,Javascript,Jquery,这就是我现在拥有的。这将输出一个选择,显示此交易报价的现有选项,您可以在其中进行选择 现在,对于交易优惠,您还可以选择需要多少交易优惠。我想这样做,它会显示尽可能多的选择,因为你已经选择了交易报价 例如,如果您在“多少交易”报价中选择了3个,则应显示您可以选择的3个选择器 下面是一个例子: 这是不起作用的,所以当你选择一个数量时,什么也不会发生,但是正如你所看到的,HTML/输出是我希望它工作的方式。当您选择3时,它会显示其中的3个选择器。类似于您的意思 这应该行得通 <div clas

这就是我现在拥有的。这将输出一个选择,显示此交易报价的现有选项,您可以在其中进行选择

现在,对于交易优惠,您还可以选择需要多少交易优惠。我想这样做,它会显示尽可能多的选择,因为你已经选择了交易报价

例如,如果您在“多少交易”报价中选择了3个,则应显示您可以选择的3个选择器

下面是一个例子:


这是不起作用的,所以当你选择一个数量时,什么也不会发生,但是正如你所看到的,HTML/输出是我希望它工作的方式。当您选择3时,它会显示其中的3个选择器。

类似于您的意思

这应该行得通

<div class="deals_options">
    Choose: 
    <?php
    echo '<select name="chosen_options[]">';
    foreach($deals_options as $option)
    {
    echo '
    <option value="'.$option['value'].'">'.$option['displaytext'].'</option>
    ';
    }
    echo '</select>';
    ?>
</div>
$(函数(){
$(“.deals\u options select”).hide();
$('.deals_amount').change(函数(){
$(“.deals\u options select”).hide();
var amount=$(this.val();
var计数器=0;
$(“.deals\u options select”)。每个(函数(){

如果(计数器)

编辑:如果要从DOM中添加/删除,请参阅下面的代码

$('.deals\u amount')。更改(函数(){
var amount=$(this.val();
var selectCount=$('.deals_options select')。长度;
如果(金额<选择计数){//删除
$('.deals_选项选择:gt(+(金额-1)+')).remove();
}否则{
var$orig=$('.deals_选项选择:first');
对于(var i=0;i$(function(){

    $(".deals_options select").hide();    
    $('.deals_amount').change(function() {        
        $(".deals_options select").hide();

        var amount = $(this).val();

        var counter=0;
        $(".deals_options select").each(function(){
          if(counter<amount)
          {                          
            $(this).show();
            counter++            
          }
          else
          {
           // We dont want .each loop to run any more. So lets return !
            return false;               
          } 
        });
    });
})
  $('.deals_amount').change(function() {
    var amount = $(this).val();
    var selectCount = $('.deals_options select').length;
    if (amount < selectCount) { //remove
        $('.deals_options select:gt(' + (amount - 1) + ')').remove();
    } else {
        var $orig = $('.deals_options select:first');
        for (var i = 0; i < Math.abs(amount - selectCount); i++) {
            $orig.clone().insertAfter('.deals_options select:last');
        }
    }
}).change(); //<-- Triggered on load to populate with what it was set
    $('.deals_options select').each(function () {
        if ($(this).index() < amount) {
            $(this).show();
        } else {
            $(this).hide();
        }
    });