0

我需要知道如何通过 jquery 保持每个动态创建的下拉列表的状态。

我的场景是这样的,我可以让用户选择一个日期,并根据选择的日期生成一个下拉列表。假设用户生成的 2 个数据和以下 2 个下拉列表是在 jquery 的帮助下动态生成的。

<select id="dd1">
  <option value="option1">option 1</option>
  <option value="option2">option 2</option>
  <option value="option3">option 3</option>
</select>

<select id="dd2">
  <option value="option5">option 5</option>
  <option value="option8">option 8</option>
  <option value="option9">option 9</option>
</select>

我担心的是,因为这些是动态创建的,所以在提交带有错误的表单时我需要保持不变。所以我已经完成了那部分,但是当表单/页面提交错误时,我无法理解如何获取先前选择的值

例如,在 dd 中,如果用户选择了选项 1,并且当表单提交时出现错误,它应该生成相同的下拉列表并选择最后选择的值,即dd1的选项 1

任何快速回复都将受到高度赞赏。它现在是一个商店塞子。

我的 yii 代码如下所示。

<?php echo CHtml::activeLabelEx($cssAtapsClient, 'outgoing_call_dates'); ?>

并且在弹出窗口中有一个日历,它设置上述文本框的值并将动态下拉列表加载为突出显示。

在此处输入图像描述

每个动态添加的下拉菜单都有一个命名约定,如下所示。(选择名称='CSSAtapsClient[client_time_window][0]')

CSSAtapsClient[client_time_window][0]
CSSAtapsClient[client_time_window][1]
CSSAtapsClient[client_time_window][2]
CSSAtapsClient[client_time_window][3]

想知道如何通过 PHP 保存数据?

4

1 回答 1

1

您可以将这些选定的选项保存到表单提交事件的一些临时变量中,如果一切正常,您可以在成功处理程序中清理它们,如果没有,只需在错误处理程序中选择这些选项。

var firstOption;
var secondOption
$("#form").submit(function() {
    firstOption = //your first selection;
    secondOption = //your second selection;
    $.ajax({
     type: "POST",
      url: //your url,
      data: $(this).serialize(),
      success: function() {
        // callback code here
        firstOption = null;
        secondSelection = null;
       },
      error: function(){
         //set your options states from your variables
      }
    });
  });

您还可以保存那些生成的 Dropdowns 内容:

var firstDDcontent =$('#firstDropdown').html()

所以你可以稍后恢复它。

于 2013-09-30T05:41:45.173 回答