Javascript:
function sample(c_id) { document.getElementById("result").value=""; var x = document.getElementById("result").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">
Пожалуйста помогите...
Вам нужно сохранить массив значений, которые уже были добавлены во вход. Когда вы переключаете каждый номер, вы можете удалить его из массива с помощью splice()
или добавить в массив с помощью push()
. Затем все, что вам нужно сделать, это объединить значения с запятой и применить их к значению вашего input
:
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
с номером. Они должны начать с письма.
function sample(c_id) {
var result = document.getElementById('result'),
resultVal = result.value;
result.value = resultVal == '' || resultVal == undefined ? c_id : resultVal', '+c_id;
}
не уверен, что вы пытаетесь сделать там.
Вам не нужно передавать идентификатор функции, которую можно получить с .id
в элементе html. то есть. document.getElementById('someElement').id;
Попытайтесь получить свой javascript во внешнем документе, так как вы собираетесь разместить свой код в строке, тогда вы можете также жестко идентифицировать идентификатор. (не предполагая, что очевидно)
Если я не ошибаюсь, я думаю, вы хотите что-то вроде этого:
$("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();
}