根据第一个选择选项

时间:2016-07-05 19:05:53

标签: javascript jquery ajax

我有一个多选,我正在尝试的代码是从我将获得的查询数据中填充第二个选择,就像对函数进行ajax调用一样,该函数将追加或删除select中的条目

我尝试过这样的事情

$(document).ready(function{
    $("#desk").change(function() {
        var deskid = $("#desk :option").attr('id');
        $.ajax ({
            url: mypagephp?dataid=deskid // [acomma seperated values of the all above chosen desks]
        });
    });
});

我的HTML代码就像这样

<tr>
    <td width="19%">Desk</td>
    <td width="81%">
        <select name="desk" id="desk" multiple="multiple" class="select">
            <cfoutput query="getAllDesk">
                <option value="100" id="100">Test 1</option>
                <option value="101" id="101">Test 2</option>
                <option value="102" id="102">Test 3</option>
                <option value="103" id="103">Test4</option>
            </cfoutput> 
        </select>
    </td>
</tr>

但我认为我正在失去一些方法,我需要做每个调用并在每个调用中嵌套ajax调用,这样我就可以将多个条目传递给ajax cal作为逗号分隔,它可以填充第二个选择< / p>

1 个答案:

答案 0 :(得分:0)

我会使用听起来像你正在尝试做的事情的复选框。下面的代码将为您提供所有选定选项的数组,然后您使用逗号加入以获取要通过AJAX发送的字符串。

&#13;
&#13;
$('#desk').on('submit',function(){
  //this will loop through checked boxes and put them in the
  //'checkedValues' variable as an array
  var checkedValues = $(this).find(':checkbox:checked').map(function(){
    return this.value;
  }).get();
  //then join the array and you'll have your comma separated string
  //with all selected values
  var desksString = checkedValues.join(',');
  console.log(desksString);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="desk">
  <input type="checkbox" value="100" name="desk1"/>Test 1<br>
  <input type="checkbox" value="101" name="desk2"/>Test 2<br>
  <input type="checkbox" value="102" name="desk3"/>Test 3<br>
  <input type="submit" value="Submit">
</form>
&#13;
&#13;
&#13;