我有一个使用下面的PHP动态生成的表单($theFeatures
是一个多维数组):
<?php
foreach($theFeatures as $theKey => $theValues) {
?>
<input type="text" value="<?php echo $theValues['Key']; ?>" name="theFeatures[<?php echo $theKey; ?>]['Key']" size="6" />
<input type="text" value="<?php echo $theValues['Value']; ?>" name="theFeatures[<?php echo $theKey; ?>]['Value']" /> <br />
<?php
}
?>
这应该创建两个如下所示的输入框:
<input value="Type" name="theFeatures[4]['Key']" size="6" type="text" />
<input value="Bird Table" name="theFeatures[4]['Value']" type="text" />
如何在jQuery中获取数组的第一部分(上例中为[4]
),这样我就可以将其存储为JavaScript变量并将其用于我的jQuery?
干杯,
安迪
答案 0 :(得分:3)
您可以尝试将值存储在输入的单独属性中,然后使用jQuery检索该属性。
将新属性添加到输入
<input type="text" value="<?php echo $theValues['Key']; ?>" name="theFeatures[<?php echo $theKey; ?>]['Key']" size="6" key="<?php echo $theKey; ?>"/>
使用jQuery检索属性
var key = $("input").attr("key");
答案 1 :(得分:1)
当然,T B的建议可行。您还可以执行以下操作以获取名称中包含“Key”的所有输入框,并在第一组方括号中获取值。这将获得名称包含Key的任何输入对象。
$("input[name*=Key]").each(function() {
var name = $(this).attr("name");
var key = name.substring(name.indexOf("[") + 1, name.indexOf("]");
//do whatever is needed with key
});