【问题标题】:Copying the contents of a div containing plain texts and select menu复制包含纯文本的 div 的内容并选择菜单
【发布时间】:2014-05-08 07:07:57
【问题描述】:

我有一个 div,其内容是使用后端 php 脚本动态生成的。 div 包含纯文本以及选择菜单(下拉菜单)。我需要将内容(纯文本和从菜单中选择的选项)复制到同一页面中的文本区域。

我在stackoverflow中搜索了很多也得到了一些答案并尝试了以下操作: 1. .innerHTML 的 javascript 但它复制 HTML 代码。 2. .innerTEXT 但它不显示从列表中选择的值。 3. ajax 的克隆功能,但它不适用于文本区域,如果我尝试将内容复制到另一个 div 中,它会生成相同的选择选项。

请有人帮我做这件事。一段代码对我很有帮助。

谢谢。

【问题讨论】:

  • 一些代码会有所帮助...
  • 你说 innerHTML 不起作用,因为它包含 HTML 代码,如果你不希望 HTML 包含你期望什么输出?
  • 我只想将 div 的内容复制到文本框中。例如:div 包含:国籍: 现在当用户从名单。我希望将国籍:印度复制到文本区域中

标签: javascript php jquery


【解决方案1】:

你可以用like

var text=$("div").contents().filter(function() {
  return this.nodeType == 3;
}).text();
var selectValue=$("div").find("select").val();
$("input[type='text']").val("Text:"+text+"selectValue:"+selectValue);

Demo

编辑

$("div").find("select").change(function () {
    var text = $("div").contents().filter(function () {
        return this.nodeType == 3;
    }).text().trim();
    var selectValue = $(this).val();
    $("input[type='text']").val(text + selectValue);
});

updated demo

编辑

$("[name=div1]").find("select").change(function () {
    var text = $("div").contents().filter(function () {
        return this.nodeType == 3;
    });


    var finalValue = "";
    $("[name=div1]").find("select").each(function (i) {
        finalValue += $(text[i]).text().trim() + $(this).val();
    });
    $("input[type='text']").val(finalValue);
});

Updated Fiddle

【讨论】:

  • @Ujjwal Prakash 这就是你想要的吗?
  • 非常感谢,我只需要这个。如果 div 的名称是“div1”并且有多个选择选项说“s1”、“s2”、“s3”等,你能指导我如何做吗?
  • 你想得到哪个select的值?
  • 选择菜单后也会有纯文本。示例:国籍:印度,性别:男性等
  • 我想获取所有选择的值
猜你喜欢
  • 1970-01-01
  • 2015-10-16
  • 1970-01-01
  • 1970-01-01
  • 2018-07-10
  • 2013-08-04
  • 2011-09-04
  • 2019-05-04
  • 1970-01-01
相关资源
最近更新 更多