我需要知道如何通过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'); ?>
弹出窗口中有一个日历,用于设置上方文本框的值,并将动态下拉列表加载为高亮显示。
每个动态添加的下拉列表都有如下命名约定。 (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保存数据?
答案 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()
所以你以后可以恢复它。