Chained或Dependent选择Zend_Form jQuery以删除或替换表单元素
Chained or Dependent Select Zend_Form jQuery to remove or replace the form elements?
我一直在使用Zend Framework 1来创建依赖/链接的Zend_Form。
当一个Zend_Form_element_Select
时,另一个Zend_Form_Element_Select被添加到表单中,其正确字段取决于第一个Select的值。
所以我添加了一个新的选择:
$("#city-label").before(data);
其将在城市标签之前插入新的选择。
当第一个选择的值再次更改时,问题就出现了。然后在表单中添加一个新的Select。理想情况下,我希望删除旧的satellite element
,即标签和Select。
<dt id="satellite-label">
<label for="satellite" class="optional">Satelite</label>
</dt>
<dd class="ui-select">
<select name="satellite" id="satellite">
<option value="--Select One--" label="--Select One--">--Select One--</option>
<option value="5" label="Alex">Alex</option>
<option value="6" label="Patro">patro</option>
<option value="7" label="Zozo ">Zozo</option>
</select></dd>
<dt id="city-label"><label for="city" class="optional">City</label></dt>
然后用新元素替换。
从您的AJAX成功中尝试这个:
$("#satellite-label").remove();
$("#satellite").parent().remove();
您应该跟踪新元素,以便在值再次更改时删除它:
var currentLabel;
...
if (currentLabel) {
currentLabel.remove();
}
currentLabel = $(data);
$("#city-label").before(currentLabel);
试试这个。。。
$("#satellite_elem-label").remove();
$("#satellite_elem").parent().remove();;
$("#city-label").before(newElement);
您可以使用隐藏输入(Zend_Form_Element_Hidden
),然后简单地替换隐藏元素。
$("#target-element").html(data);
不要忘记在data
的html内容上使用相同的id(target-element
)。
通过这种方式,您还可以向这个隐藏元素添加后端验证器,以使用isValid
方法。
在第一个select的值再次更改时,必须先删除上一个插入的select,然后再插入另一个。
所以这可能对你的情况有所帮助。
$("#city-label").prev('.ui-select').remove();
$("#city-label").prev('#satellite-label').remove();
$("#city-label").before(data);
或者简单地添加这个
$("#city-label").prev().remove();
$("#city-label").prev().remove();
$("#city-label").before(data);
它将删除select,然后添加标签,并在插入新select之前插入新select。
相关文章:
- Javascript匹配以从URL中删除部分文件名-替换最后一次出现的内容
- 可以't删除“;C: fakepath "使用javascript替换和regex
- 如何删除重复的选定项目并替换为数量
- 使用替换函数删除 Javascript 中元素的类
- 使用正则表达式删除所有 html 属性(替换)
- jQuery:裁剪以删除图像数据并替换为新数据
- 如何将删除标记替换为输入类型文本
- 为什么javascript替换方法(没有regex)在angularjs表达式中不起作用来删除 
- 为什么不用特殊字符替换选择文本,以及如何删除此特殊字符
- 使用Javascript替换函数从字符串中删除€Symbol
- Chained或Dependent选择Zend_Form jQuery以删除或替换表单元素
- 如何使用jquery删除和替换select选项
- 拼接数组的Javascript只是替换值而不是删除它
- 替换/删除数组中的空条目
- 正则表达式 - 替换方法从字符串中删除运算符产生不希望的结果
- 替换/删除两个字符之间的所有内容
- 字符串替换或通过数组删除
- PHP:如何删除/替换特定的href属性值
- 为html元素添加/删除/替换类
- 如何从客户端浏览器中删除/替换缓存的css和js文件