Javascript 带有单选按钮的html表格复制粘贴到xls

Javascript 带有单选按钮的html表格复制粘贴到xls,javascript,html,excel,Javascript,Html,Excel,我有一个HTML表元素,其中的行不仅包含纯文本字符,还包含单选按钮,列表,等等 我想要的是,当用户副本将表格内容粘贴到MS Excel(纯文本)中时,单选按钮应替换为其值(例如:“选中”和“未选中”),列表元素应替换为其所选值,等等 有没有办法在浏览器中实现这一点? (最好不使用flash或java小程序组件) 谢谢, krisy您可以使用javascript(使用像jquery这样的框架会更容易)修改已复制的代码。一般程序是将单选按钮设置为不可见,然后根据其当前值在相应位置添加文本 关于实施细

我有一个HTML
元素,其中的行不仅包含纯文本字符,还包含
单选按钮
列表
,等等

我想要的是,当用户副本将表格内容粘贴到MS Excel(纯文本)中时,
单选按钮
应替换为其值(例如:“选中”和“未选中”),列表元素应替换为其所选值,等等

有没有办法在浏览器中实现这一点? (最好不使用flash或java小程序组件)

谢谢, krisy

您可以使用javascript(使用像jquery这样的框架会更容易)修改已复制的代码。一般程序是将单选按钮设置为不可见,然后根据其当前值在相应位置添加文本

关于实施细节,有很多问题需要解答:

更新:事实证明你甚至不需要删除单选按钮,至少对于我的excel版本。下面是一个工作示例(解释发生了什么的方式):


.radioCopyVal{
字号:0;
}
选中的。
胡特。
没有检查。
胡特。胡特。
$(“#oneWoot”).attr(“选中”,为真)//在页面加载时,确保oneWoot是默认选择
$(“input[name=woots]:radio”)。更改(function(){//只要更改name woots的单选按钮。。。
$(“.radioCopyVal”).remove();//删除旧的radioCopyVal跨距(将替换为新跨距)
$(“输入[name=woots]:单选”).each(函数(){//用于名称woots中的每个单选按钮
如果($(this.attr(“checked”){//如果选中该按钮,则在其后面添加一个span,并在其后面显示“checked.”.css用于隐藏span
$(此)。在('选中')之后;
}否则{
$(此).after('未选中');
}
})
});
您可以使用javascript(使用jquery这样的框架会更容易)修改已复制的代码。一般程序是将单选按钮设置为不可见,然后根据其当前值在相应位置添加文本

关于实施细节,有很多问题需要解答:

更新:事实证明你甚至不需要删除单选按钮,至少对于我的excel版本。下面是一个工作示例(解释发生了什么的方式):


.radioCopyVal{
字号:0;
}
选中的。
胡特。
没有检查。
胡特。胡特。
$(“#oneWoot”).attr(“选中”,为真)//在页面加载时,确保oneWoot是默认选择
$(“input[name=woots]:radio”)。更改(function(){//只要更改name woots的单选按钮。。。
$(“.radioCopyVal”).remove();//删除旧的radioCopyVal跨距(将替换为新跨距)
$(“输入[name=woots]:单选”).each(函数(){//用于名称woots中的每个单选按钮
如果($(this.attr(“checked”){//如果选中该按钮,则在其后面添加一个span,并在其后面显示“checked.”.css用于隐藏span
$(此)。在('选中')之后;
}否则{
$(此).after('未选中');
}
})
});

恐怕不可能。但你可以这样做: 如果有一个指向javascript的链接,脚本将隐藏这些项目,并以纯文本显示它们的值,以便可以反转此操作

这可以使用JQuery轻松完成: 这显示了无线电值:

$("input:radio").each(function() {
    if ($(this).attr("checked")) {
        $(this).after('<span class="value">checked</span>');
    }
    else {
        $(this).after('<span class="value">unchecked</span>');
    }
}).css("display", "none");
$(“输入:收音机”)。每个(函数(){
if($(this.attr(“选中”)){
$(this).after('checked');
}
否则{
$(this).after('unchecked');
}
}).css(“显示”、“无”);

我留下了一个span类,这样就可以使用脚本轻松隐藏这些值。

恐怕不可能。但你可以这样做: 如果有一个指向javascript的链接,脚本将隐藏这些项目,并以纯文本显示它们的值,以便可以反转此操作

这可以使用JQuery轻松完成: 这显示了无线电值:

$("input:radio").each(function() {
    if ($(this).attr("checked")) {
        $(this).after('<span class="value">checked</span>');
    }
    else {
        $(this).after('<span class="value">unchecked</span>');
    }
}).css("display", "none");
$(“输入:收音机”)。每个(函数(){
if($(this.attr(“选中”)){
$(this).after('checked');
}
否则{
$(this).after('unchecked');
}
}).css(“显示”、“无”);

我留下了一个span类,这样就可以使用脚本轻松隐藏这些值。

听起来不错;我正在考虑创建一个1px*1px文本区域,并捕获CTRL键和onMouseDown元素;当偶数出现时,将处理所选文本(单选按钮等替换为其值),处理后的文本将写入文本区域,并被选中,焦点将直接指向该区域。这样就有可能实现所需的功能性(?)幸运的是,这比这更容易。我在原来的答案中添加了一个例子。效果非常好,谢谢!当复制粘贴到excel中时,选择“粘贴特殊内容/文本”选项,一切正常。我想我需要得到这个工作没有使用特殊粘贴。(目前,复选框也被复制到xls中,并带有“选中”字符串)听起来不错;我正在考虑创建一个1px*1px文本区域,并捕获CTRL键和onMouseDown元素;当偶数出现时,将处理所选文本(单选按钮等替换为其值),处理后的文本将写入文本区域,并被选中,焦点将直接指向该区域。这样就有可能实现所需的功能性(?)幸运的是,这比这更容易。我在原来的答案中添加了一个例子。效果非常好,谢谢!当复制粘贴到excel中时,选择“粘贴特殊内容/文本”选项,一切正常。我想我需要得到这个