我正在尝试创建一个onclick事件,当您按下具有不同值的两个不同按钮时,它们将被添加到输入字段中。例如,单击两个按钮时,输入值将显示为:"13577002, 13577003"
。可以这样做吗?
< script >
function myFunction(name) {
document.getElementById("peep").value = name;
} < /script>
<html>
<body>
<table>
<tr>
<td><a onclick="myFunction('13577002')" data-toggle="modal" data-target="#myReserve" href="# style=" font-size:10px " class="btn btn-special-sm btn-color btn-xs ">RESERVE NOW</a></td>
<td><a onclick="myFunction( '13577003') " data-toggle="modal " data-target="#myReserve " href="# style="font-size:10px" class="btn btn-special-sm btn-color btn-xs">RESERVE NOW</a>
</td>
</tr>
</table>
<form>
<label>SKU:
<input type="text" name="sku" id="peep"></input>
</label>
</form>
</body>
</html>
答案 0 :(得分:1)
只需使用布尔标志来确定某些内容是否已经存储在那里,然后正确连接
if(peepFlag)
document.getElementById("peep").value += ", " + name;
else {
document.getElementById("peep").value = name;
peepFlag = true;
}
如果您不希望再对它做任何其他事情,那么您甚至不需要flag或if语句。但是,我会为了彻底而保留它们
答案 1 :(得分:1)
为防止不必要的添加,您可以执行以下操作:
function myFunction(name) {
field=document.getElementById("peep");
if(field.value!='' && field.value.split(',').length<2 && field.value!=name) {
console.log(field.value.split(','));
field.value+=', '+name;
}
else if(field.value=='') {
field.value=name;
}
}
演示:http://jsfiddle.net/7mjv2sp2/3/ 实际上还需要一个额外的条件,因此用户不能输入更多的两个值,它们必须是不同的......:)
答案 2 :(得分:0)
试试这个:
<script>
function myFunction(name) {
document.getElementById("peep").value += (',' + name);
}
</script>
答案 3 :(得分:0)
嗨,请检查此解决方案:http://jsfiddle.net/leojavier/apbuuhch/1/
<table>
<tr>
<td>
<a data-source="13577002" data-toggle="modal" data-target="#myReserve" href="javascript:void(0)" style="font-size:10px" class="btn btn-special-sm btn-color btn-xs">
RESERVE NOW
</a>
</td>
<td>
<a data-source="13577003" data-toggle="modal" data-target="#myReserve" href="javascript:void(0)" style="font-size:10px" class="btn btn-special-sm btn-color btn-xs">
RESERVE NOW
</a>
</td>
</tr>
</table>
<form>
<label>SKU:
<input type="text" name="sku" id="peep"></input>
</label>
</form>
JS
$('a').on('click',function(){
$("#peep").val($(this).data('source'));
});