[英]javascript string value to variable
所以我有一个有趣的问题。 尽管我已经找到了解决方案,但我想知道您对此有何看法。
详细信息:我有一个用于扫描某些ID的JavaScript前端脚本。 为了使它更易于使用,脚本将保存所有扫描的ID并将其存储在数组中。 用户扫描ID后,该ID将显示在div中,并且还会放置在隐藏的输入中以供进一步提交操作。 看起来像这样:
<div id="scan_output">
<div class="alert alert-success" style="">
<button class="close single-scan-output-close" data-dismiss="alert">×</button>
<div>ID #66666</div>
<input type="hidden" value="herp;66666;derp" name="data[Stock][0]">
</div>
<div class="alert alert-success" style="">
<button class="close single-scan-output-close" data-dismiss="alert">×</button>
<div>ID #987654</div>
<input type="hidden" value="blub;987654;foo" name="data[Stock][1]">
</div>
<div class="alert alert-success" style="">
<button class="close single-scan-output-close" data-dismiss="alert">×</button>
<div>ID #123456</div>
<input type="hidden" value="foo;123456;bar" name="data[Stock][2]">
</div>
</div>
如您所见,输入中有一些不同的值,因为必须将具有更多信息的这种格式上载到后端。 我刚刚添加了一些虚拟数据。
name属性将索引存储在第二维中,在后端也很方便,因为您可以获得数组。 此索引也是javascript数组的索引,其中存储ID以进行唯一检查,因此如果用户扫描ID两次,则将通知用户。
因此,如果用户不小心扫描了错误的内容,则可以通过单击“ x”按钮将其删除。
我的第一次尝试如下。 触发“关闭”事件后,我捕获了当前元素,该元素已通过以下方式关闭:
var $inputElement = $this.parent().find('input[type=hidden]');
var sNameAttribute= $inputElement.attr('name');
现在,名称属性以简单的字符串形式存储在“ sNameAttribute”中,如下所示:“ data [Stock] [1]”或“ data [Stock] [2]”当然取决于他单击的元素。
我没有弄清楚如何从该字符串值获取索引。 我不想使用“ split”或regex-filter之类的解决方法。
为了完成任务,我只向输入添加了一些数据属性,索引被存储为普通变量,如下所示:
<input type="hidden" value="blub;987654;foo" name="data[Stock][1]">
我的问题是,您将如何解决该问题,或者如何从存储在名称属性中的字符串值“ data [Stock] [1]”中获取索引。 我尝试了一些eval()函数,但没有得到有用的结果。
如果是要获取事件发生在哪个div / button的索引,则在页面加载时绑定onclick事件并获取索引会不好吗?
$('.single-scan-output-close').click(function (event) {
alert($(this).index());
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.