Javascript 单击克隆发货地址字段值到帐单地址字段值
嗨,我有这个javascript代码Javascript 单击克隆发货地址字段值到帐单地址字段值,javascript,jquery,Javascript,Jquery,嗨,我有这个javascript代码 copyAddress : function(swapMode, container){ var thisInstance = this; var addressMapping = this.addressFieldsMappingInModule; if(swapMode == "false"){ for(var key in addressMapping) { var fromElement
copyAddress : function(swapMode, container){
var thisInstance = this;
var addressMapping = this.addressFieldsMappingInModule;
if(swapMode == "false"){
for(var key in addressMapping) {
var fromElement = container.find('[name="'+key+'"]');
var toElement = container.find('[name="'+addressMapping[key]+'"]');
toElement.val(fromElement.val());
}
} else if(swapMode){
var swappedArray = thisInstance.swapObject(addressMapping);
for(var key in swappedArray) {
var fromElement = container.find('[name="'+key+'"]');
var toElement = container.find('[name="'+swappedArray[key]+'"]');
toElement.val(fromElement.val());
}
如果元素是输入文本字段,则此代码工作正常
但不适用于“选择”下拉列表元素
我的表单只有输入文本和选择字段,我想修改这段代码来处理选择字段
我对代码做了如下更改
if(!(fromElement).is("select")) {
toElement.val(fromElement.val());
}else{
var $options = $(fromElement+" > option").clone();
toElement.append($options);
}
但是没有成功。
也许有人能帮我?
谢谢 这将完成您的工作。
我添加了一个检查,检查要复制的元素是否为选择。在选择元素的情况下,From元素的所有选项将被复制并附加到to元素
试试看,万一有什么问题就告诉我
copyAddress : function(swapMode, container){
var thisInstance = this;
var addressMapping = this.addressFieldsMappingInModule;
if(swapMode == "false"){
for(var key in addressMapping) {
var fromElement = container.find('[name="'+key+'"]');
var toElement = container.find('[name="'+addressMapping[key]+'"]');
if(fromElement[0].tagName == "Select")
{
toElement.find('option').remove();
toElement.append(fromElement.find('option'));
}
toElement.val(fromElement.val());
}
} else if(swapMode){
var swappedArray = thisInstance.swapObject(addressMapping);
for(var key in swappedArray) {
var fromElement = container.find('[name="'+key+'"]');
var toElement = container.find('[name="'+swappedArray[key]+'"]');
if(fromElement[0].tagName == "Select")
{
toElement.find('option').remove();
toElement.append(fromElement.find('option'));
}
toElement.val(fromElement.val());
}
解决方案是
toElement.val(fromElement.val()).trigger(“liszt:updated”)代码>这对表单中使用selected.js的所有元素都有效我只是尝试了一下,没有成功。我忘了说表单select use selected.jsI也在code
toElement.append(fromElement.find('option'))之后添加了这个;toElement.trigger(“已选择:已更新”)<代码>代码
如果我将此'if(来自元素[0]。标记名==“select”){alert('select');}否则{alert('textbox');}'我收到警报textbox我将标记名==“select”替换为标记名==“select”现在我可以在选择时实现,但选项保持不变