我有一个包含输入字段的html代码,如下所示:
<input id="'+count+'" name="quan'+obj+'" type="button" data-quantity="1"/>
然而,输入字段的ID和名称是动态的,如上所示,因为id count 和名称 obj 是动态的。 (范围从1-5)
这意味着在某个时间,上述输入字段可能是:
<input id="4" name="quan2" type="button" data-quantity="1"/>
现在,我想要做的是当输入字段的名称为 quan3 时,输入字段的数据量值或 quan(N)无论N(N)是什么。
数据量也包含动态值。
funcation get()
{
count=3;
obj=2;
// What to do here to get the value of data-quantity???????
}
注意:我也在下面尝试了这个但是没有用。
$(".quan" + obj).attr("data-quantity","4"); // NOT WORKED
$("#" + count).attr("data-quantity","4"); // NOT WORKED
答案 0 :(得分:1)
您尝试.quan
,但.
表示某个班级,您尝试#
,但这表示id
。要查询属性,您需要[]
,如下所示。另外^=
带有属性查询意味着“以...开头”,所以你真的不需要担心数字值,除非它对你的逻辑很重要。
var count = 3;
var obj = 2;
// Report the 'data-quantity' attribute value now:
console.log($("input[name^='quan']").attr("data-quantity"));
// Locate all elements that have a `name` attribute that
// has a value that starts with 'quan' and set their 'data-quantity'
// attribute value to "4".
$("input[name^='quan']").attr("data-quantity","4");
// Report the 'data-quantity' attribute value now:
console.log($("input[name^='quan']").attr("data-quantity"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="4" name="quan2" type="button" data-quantity="1">
答案 1 :(得分:1)
检查一下。
您希望通过选择名称以1,2,3 ... n结尾的输入来获取数据量的attr值。
这是如何做到的。
function getAttrValueFromInput (marker) {
const attrValue = $(`input[name^='quan${marker}']`).data('quantity');
return attrValue;
}
function setAttrValueFromInput (marker, value) {
$(`input[name^='quan${marker}']`).attr('data-quantity', value);
}
setAttrValueFromInput(2, 2000);
console.log(getAttrValueFromInput(2));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="1" name="quan1" type="button" data-quantity="1"/>
<input id="2" name="quan2" type="button" data-quantity="12"/>
<input id="3" name="quan3" type="button" data-quantity="90"/>