Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于多个字段的单个jQuery图像选择器_Javascript_Php_Jquery - Fatal编程技术网

Javascript 用于多个字段的单个jQuery图像选择器

Javascript 用于多个字段的单个jQuery图像选择器,javascript,php,jquery,Javascript,Php,Jquery,我正在试图找出解决这个问题的方法,如果有人不能提供一个直接的解决方案,我会从概念方法中受益,这样我就可以尝试自己解决它 我有一个带有文本表单字段的页面,每个字段都有一个相应的IconId。页面上将显示小图像图标(PNG)列表。目标是当用户单击其中一个文本框时,它将激活100个图标,用户可以选择1个图标,将IconId添加到相应的隐藏字段中。当用户单击已分配了IconId的字段或在隐藏字段中的字段时,他们可以选择不同的图标,并将IconId替换掉。页面将通过PHP作为标准表单post提交,页面框架

我正在试图找出解决这个问题的方法,如果有人不能提供一个直接的解决方案,我会从概念方法中受益,这样我就可以尝试自己解决它

我有一个带有文本表单字段的页面,每个字段都有一个相应的
IconId
。页面上将显示小图像图标(PNG)列表。目标是当用户单击其中一个文本框时,它将激活100个图标,用户可以选择1个图标,将
IconId
添加到相应的隐藏字段中。当用户单击已分配了
IconId
的字段或在隐藏字段中的字段时,他们可以选择不同的图标,并将
IconId
替换掉。页面将通过PHP作为标准表单post提交,页面框架将是Bootstrap3W/jQuery1.11


下面是一个演示用例的小提琴:

您可以为每个输入字段添加一个唯一的id(例如,迭代输入-1、输入-2等)。然后,可以将当前选定输入字段的id存储到脚本的变量中。
单击图标时,通过保存的变量/id选择输入字段,并更新其相应的图标id隐藏字段。

以下是使用数据属性的简单示例

我并没有在这里实际使用图标,也没有为了演示而使用隐藏字段,但它应该很容易根据您的需要进行更改

var lastFocus=null;
$(document.body).on(“焦点”,“输入”,函数(){
lastFocus=这个;
});
$(document.body)。在(“单击”,“数据图标id]”上,函数(){
$(lastFocus.val(this.dataset.iconId.focus());
});

单击每个LI,您将在最后一个聚焦的输入字段中获得id




    图标1
  • 另一个图标(2)
  • 是三个

使用数据属性,。。例如
data icon id=“1”
,然后您可以提取它。@Keith ok,但是如果我有多个字段,如何强制图像更新当前选定的字段?如果只是一个字段和一堆图像,那么直接单击图像,更新文本字段。但我需要知道选择了哪个字段集,这样我才能在单击所需图像时更新相应的IconId字段。请在您的问题中在此发布相关的“”代码,这样,当外部站点(如JS Fiddle)倒塌、死亡时,该问题仍然有用,重新组织或删除内容。
如果我有多个字段,请更新当前选定的字段?
此处需要的是委派事件,。。如。。如果您使用了数据属性,则可以使用
$(容器)将所有字段作为目标。在(“单击”,“数据图标id]”上,函数(){}
这很有帮助,而且我能够使它工作;我只在上面的示例中遇到了3个
输入的情况。我不能使用全局选择器
$(“输入”)
它需要特别是
活动的输入。
您能更新您的代码片段以反映这一点吗?@JeffSolomon我已经更新以处理多个输入,我基本上会跟踪最后一个重点输入。砰!是的,很好。谢谢。