我的 JSP 中有 7 个文本字段。在我的 javascript 中,我经常需要共同填充这些文本字段、清空、验证等。
因此,目前在我的 JS 中,我将它们的 id 保留为 parameter_1、parameter_2 等,因为它可以帮助我使用 id 属性轻松地一起遍历它们。
JS:
function emptyThresholdTextFields(){
$('[id^="parameter_"]').each(function(i, value) {
$(this).val('');
});
}
function fillThresholdTextFields(data){
$("[name='minNumberOc']").val(data.minNumberOc);
$("[name='minDurationOc']").val(data.minDurationOc)
$("[name='maxNumberIc']").val(data.maxNumberIc)
$("[name='maxDurationIc']").val(data.maxDurationIc)
$("[name='maxNumberCellId']").val(data.maxNumberCellId)
$("[name='distinctBnumberRatio']").val(data.distinctBnumberRatio)
$("[name='minPercentDistinctBnumber']").val(data.minPercentDistinctBnumber)
}
JSP:
<s:textfield id="thresholdParameter_1"
label="Minimum Number of OG Calls" required="true"
name="minNumberOc"
onkeypress="return isNumber(event,'thresholdParameter_1')">
</s:textfield>
- 以这种形式保留 id 的参数1、参数2 等是一个好习惯吗?
- 正如在
fillThresholdtextFields
中进行填充一样,我必须关联地访问每个参数。所以以后如果参数增加的话就会变得更加麻烦。是否有其他替代方案可以轻松实现 1 和 2?
ID 应该是描述性的,因此使用参数 1、参数 2 等并不是一个好的做法。要清空所有字段,您可以简单地一次获取所有字段并设置它们的值。例如。
$("input[type='text']").val("");
这会将匹配的所有内容的 val 设置为空字符串。如果页面上有多个表单,您可能希望将其范围缩小到一个特定的表单,即。
$("#someform input['type=text']").val("");
对于#2,如果每个字段都需要设置为不同的内容,您可能需要单独访问每个字段。但如果有些相同,您可以使用上面相同的技术同时设置其中一些。例如使用一个类。
$(".min-oc").val(data.somevalue);
在此实例中为每个元素设置“min-oc”类。
我是一名优秀的程序员,十分优秀!