【问题标题】:How to pass array value to the function of javascript? PHP Laravel如何将数组值传递给javascript函数? PHP Laravel
【发布时间】:2020-02-14 05:40:27
【问题描述】:

我在 javascript 中有一个名为 country_id[] 和 selected_country[] 的数组。当用户在 country 数组中选择国家时,它将保存在 country_id[] 数组中,当用户在所选国家/地区中选择国家时,它将保存在 selected_country[] 中。然后,我想将 country_id[] 和 selected_country[] 的值传递给脚本函数中的函数。这是将数据从右向左和从左向右移动。图片附在这里。

但它说,下面的错误。

错误:

179:575 Uncaught ReferenceError: country_id is not defined

表格:

<form method="POST" action="{{route('admin-insurance-region-duplicateRegion')}}" onsubmit="return false;">
            @csrf
        <input name="id" value="{{$region->id}}" type="hidden" class="form-control" required>
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <label>Choose Country</label>
                    <select class="form-control" name="country_id[]" multiple  size="10" style="height: 100%;">
                        @foreach ($countries as $item)
                        <option  value="{{$item->id}}" selected>{{$item->name}}</option>
                        @endforeach
                    </select>
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <label>Selected Country</label>
                    <select class="form-control" name="selected_country[]" multiple  size="10" style="height: 100%;">
                        @foreach ($country_region as $item)
                            <option  value="{{$item->id}}" selected>{{$item->name}}</option>
                        @endforeach
                    </select>
                </div>
            </div>
            <button onclick="moveRight()">Move option to the right</button>
            <button onclick="moveLeft()">Move option to the Left</button>
        </div>

JAVASCRIPT:

<script>


        function moveRight() {

            var selItem = document.forms[0].country_id.selectedIndex;
            if (selItem == -1) {
                window.alert("You must first select an item on the left side.")
            } else {
                document.forms[0].selected_country.add(document.forms[0].country_id[selItem], null);
            }
        }

        function moveLeft() {
            var selItem = document.forms[0].selected_country.selectedIndex;
            if (selItem == -1) {
                window.alert("You must first select an item on the left side.")
            } else {
                document.forms[0].country_id.add(document.forms[0].selected_country[selItem], null);
            }
        }

</script>

【问题讨论】:

    标签: javascript php jquery html laravel


    【解决方案1】:

    在“国家”和“选定国家”选择框中添加 Id 属性。

    喜欢。

    <select class="form-control" id="country_id" name="country_id[]" multiple  size="10">
      -----
    </select>
    
    <select class="form-control" id="selected_country" name="selected_country[]" multiple  size="10">
     -----                
    </select>
    

    演示。

    <form method="POST" action="{{route('admin-insurance-region-duplicateRegion')}}" onsubmit="return false;">
    	<label>Choose Country</label>
    	<select class="form-control" id="country_id" name="country_id[]" multiple  size="10">
    		<option  value="1" selected>1</option>
    		<option  value="2" selected>2</option>
    		<option  value="3" selected>3</option>
    	</select>
    	<label>Selected Country</label>
    	<select class="form-control" id="selected_country" name="selected_country[]" multiple  size="10">
    		<option  value="s1" selected>s1</option>
    		<option  value="s2" selected>s2</option>
    		<option  value="s3" selected>s3</option>
    	</select>
    	</div>
    	</div>
    	<button onclick="moveRight()">Move option to the right</button>
    	<button onclick="moveLeft()">Move option to the Left</button>
    </div>
    
    <script>
    function moveRight() {
    
    var selItem = document.forms[0].country_id.selectedIndex;
    	if (selItem == -1) {
    	window.alert("You must first select an item on the left side.")
    	} else {
    	document.forms[0].selected_country.add(document.forms[0].country_id[selItem], null);
    	}
    }
    
    function moveLeft() {
    	var selItem = document.forms[0].selected_country.selectedIndex;
    	if (selItem == -1) {
    	window.alert("You must first select an item on the left side.")
    	} else {
    	document.forms[0].country_id.add(document.forms[0].selected_country[selItem], null);
    	}
    }
    
    </script>

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 2014-03-05
      • 2017-11-07
      • 2013-05-02
      • 2011-06-20
      • 1970-01-01
      • 2018-07-22
      • 2012-03-10
      相关资源
      最近更新 更多