使用jquery和php动态下拉列表

时间:2013-09-30 05:31:54

标签: javascript php jquery yii

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

我的方案是这样的,我可以选择用户选择日期,并根据所选日期生成下拉列表。假设用户生成的2个dats和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 ,并且在使用错误提交表单时,它应生成相同的下拉列表并选择最后一个选择的值选项1 表示dd1

任何快速回复都非常感谢。它现在是一个商店塞子。

我的yii代码如下所示。

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

弹出窗口中有一个日历,用于设置上方文本框的值,并将动态下拉列表加载为高亮显示。

enter image description here

每个动态添加的下拉列表都有如下命名约定。 (select name ='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保存数据?

1 个答案:

答案 0 :(得分: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
      }
    });
  });

您还可以保存生成的Dropdown内容:

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

所以你以后可以恢复它。