如何使用javascript将选定的div标记id值传递给单个文本框(以逗号分隔)
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:如何使用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
<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;
}