如何使用javascript将选定的div标记id值传递给单个文本框(以逗号分隔)

如何使用javascript将选定的div标记id值传递给单个文本框(以逗号分隔),javascript,html,Javascript,Html,Javascript: function sample(c_id) { document.getElementById("result").value=""; var x = document.getElementById("result").value=c_id; } 函数示例(c_id) { document.getElementById(“结果”).value=“”; var x=document.getElementById(“结果”).value=c_id; } H

Javascript:

function sample(c_id) { document.getElementById("result").value=""; var x = document.getElementById("result").value=c_id; } 函数示例(c_id) { document.getElementById(“结果”).value=“”; var x=document.getElementById(“结果”).value=c_id; } HTML:

<div id="1" onclick="sample(this.id)">one</div>
<div id="2" onclick="sample(this.id)">Two</div>
<input type="text" value="" id="result">
1
两个

请帮帮我…

我不知道你在那里想做什么

您不需要将id传递给函数,该函数可以通过html元素上的
.id
获得。例如,
document.getElementById('someElement').id

尝试将javascript也放在外部文档中,因为您要将代码内联,那么您也可以硬编码id。
(显然不建议这样做)

您需要保留一个已经添加到输入中的值数组。切换每个数字时,可以使用
splice()
将其从阵列中删除,或使用
push()
将其添加到阵列中。然后,您需要做的就是用逗号连接这些值,并将其应用于
输入的值

var taken = [];
function sample(c_id)  {
    var inp = document.getElementById("result");
    var ind = taken.indexOf(c_id);
    if(ind > -1){
        taken.splice(ind,1);
        taken = taken;
    } else {
        taken.push(c_id);
    }
    inp.value = taken.join(',');
}


注意:用数字启动
id
s是无效的。他们应该以字母开头。

如果我没有错,我想你想要这样的东西:

$("div").click(function(){
     $("#result").val($("#result").val() + ", " + $(this).attr("id"))
})
或者,如果您想要类似于代码的内容,请执行以下操作:

$("div").click(sample($(this).attr("id")));

function sample(c_id) 
{
    document.getElementById("result").val(document.getElementById("result").val() + ", " + c_id);

    var x = document.getElementById("result").val(); 

}

首先,我再次单击同一个元素意味着它应该从textfield中删除。但是它一直在增加。所以每个数字应该只有一个?在这个例子中,我想隐藏id 2。我被第二个单词击中了,但id 1被隐藏了。@user2994953抱歉,我误解了。编辑制作。
function sample(c_id) {
  var result = document.getElementById('result'),
      resultVal = result.value;
  result.value = resultVal == '' || resultVal == undefined ? c_id : resultVal', '+c_id;
}