我有一个问题,使用 Javascript 或 Jquery 创建具有字符串计数的动态字段
I have an issue to create dynamic fields with string count using Javascript OR Jquery
我有一个问题,使用 JavaScript 或 jQuery 创建具有字符串计数的动态字段。
简报
我想在刺痛计数的帮助下创建动态字段,例如,当我在这样的player textfield
上编写一些文本时p1,p2,p3
他们在dynamicDiv
上创建了三个file fields
,或者当我删除像这样的player textfield
上的一些文本时p1,p2
他们只创建了两个file fields
仅此而已。
整个场景取决于keyup event
法典:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
function commasperatedCount(){
var cs_count = $('#player').val();
var fields = cs_count.split(/,/);
var fieldsCount = fields.length;
for(var i=1;i<=fieldsCount;i++){
var element = document.createElement("input");
element.setAttribute("type", 'file');
element.setAttribute("value", '');
element.setAttribute("name", 'file_'+i);
var foo = document.getElementById("dynamicDiv");
foo.appendChild(element);
}
}
</script>
<form>
<label>CountPlayerData</label>
<input type="text" name="player" id="player" onkeyup="return commasperatedCount();" autocomplete="off" />
<div id="dynamicDiv"></div>
<input type="submit" />
</form>
var seed = false,
c = 0,
deleted = false;
$('#player').on('keyup', function(e) {
var val = this.value;
if ($.trim(this.value)) {
if (e.which == 188) {
seed = false;
}
if (e.which == 8 || e.which == 46) {
var commaCount = val.split(/,/g).length - 1;
if (commaCount < c - 1) {
deleted = true;
}
}
commasperatedCount();
} else {
c = 0;
deleted = false;
seed = false;
$('#dynamicDiv').empty();
}
});
function commasperatedCount() {
if (deleted) {
$('#dynamicDiv input:last').remove();
deleted = false;
c--;
return false;
}
if (!seed) {
c++;
var fields = '<input value="" type="file" name="file_' + c + '">';
$('#dynamicDiv').append(fields);
seed = true;
}
}
演示
<script>
function create(playerList) {
try {
var player = playerList.split(/,/);
} catch(err) {
//
return false;
}
var str = "";
for(var i=0; i<player.length; i++) {
str += '<input type="file" id="player-' + i + '" name="players[]" />';
//you wont need id unless you are thinking of javascript validations here
}
if(playerList=="") {str="";} // just in case text field is empty ...
document.getElementById("dynamicDiv").innerHTML = str;
}
</script>
<input id="playerList" onKeyUp="create(this.value);" /><!-- change event can also be used here -->
<form>
<div id="dynamicDiv"></div>
</form>
相关文章:
- 如何从查询字符串中的输入字段发回文本
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 使用Mongoose在字段的子字符串上填充
- 使用jQuery从隐藏字段中的字符串中删除一个值
- Inout Text字段在转换为字符串并输出时生成一个空行
- 使用javascript字符串填充多个输入字段
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- JavaScript cookie 输入字段字符串显示错误
- JavaScript RegEx - 加载十六进制或空字符串的动态字段
- 如何让图表(饼图)在dc.js,d3和交叉过滤器(节点)中的.csv字符串字段上进行分组.js.js
- 如何将 JSON 字符串转换为带有 Javascript 中字段的对象
- 将焦点和光标设置为文本输入字段/字符串 w. Jquery 的末尾
- 在数组中存储 JQuery 字段与仅存储选择字符串相比如何
- 我有一个问题,使用 Javascript 或 Jquery 创建具有字符串计数的动态字段
- 隐藏字段值未显示在查询字符串中
- Mongodb:不能使用字符串字段名称附加到数组
- 如何在JavaScript数组中将两个字符串字段连接为一个
- 如何从命令行更新mongodb字符串字段
- 对具有前导编号s的字符串字段上的JScript数组进行排序
- MongoDB:更新所有文档中的字符串字段