您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

根据另一个组合框选择自动填充组合框

根据另一个组合框选择自动填充组合框

您可以简化现有的代码 很多 ,我认为你从你标记你的问题的方式去做- 如果你使用jQuery。以下代码将替换您显示的所有代码,并且您将不需要onkeyuphtml中的内联代码

$(document).ready(function() {
   $("#text@R_171_2419@1").keyup(function() {
      $.get('state.jsp', {count : this.value}, function(responseData) {
         $("#text@R_171_2419@2").val(responseData);
      });
   });
});

$.get()jQuery的简单Ajax方法之一在哪里。它将数据从第二个参数传递到第一个参数中的url,然后返回响应时,它将在第三个参数中调用函数(这等效于您的stateChange()函数,但jQuery为您测试状态并且仅调用准备就绪时起作用)。

(顺便说一句,我不建议在每次键入键时都提出一个新的Ajax请求。也许是在模糊处理时这样做,或者至少使用超时机制仅在用户停止键入例如400ms时才执行事件。)

当您说“基于第一个组合框的选择自动填充第二个组合框”时,是指根据第一个组合框中选择的值来设置可用选项的列表吗?假设您可以使用与上述类似的技术:

$("#combo1,#combo2,#combo3").change(function() {
   var associatedCombo = $(this).attr('data-associated');
       requestData = {};
   requestData[this.id] = $(this).val();
   $.get('combo.jsp', requestData, function(responseData) {
      $("#" + associatedCombo).replaceWith(responseData);
   });
});

<select id="combo1" data-associated="combo4">

在哪里'combo.jsp'处理“ combo1Val”请求参数并返回适当的数据。如果使用此.replaceWith()方法,则需要返回填充组合的HTML,如下所示:

<select id="combo2" name="combo2">
   <option value="1">One</option>
   ...
</select>

因为整个现有组合将被新组合替换。当然,还有许多其他方法,例如,仅返回选项,或者返回JSON并使用它来逐个创建选项。

其他 2022/1/1 18:17:07 有544人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶