2014-01-16 65 views
1

我在JSP中有7個文本字段。在我的JavaScript經常我需要集體填補這些文本框,空,驗證等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> 
  1. 這是一個很好的做法,以保持ID的喜歡這種形式參數1,參數等?
  2. 如在fillThresholdtextFields填寫我必須訪問每個參數關聯。所以稍後如果參數增加,它將變得更加麻煩。是否有其他的替代方法,使1和2都可以輕鬆實現?

回答

1

ID應該是描述性的,所以使用parameter1,parameter2等不是好的做法。爲了清空所有的字段,你可以簡單地抓住它們並設置它們的值。恩。

$("input[type='text']").val(""); 

這將爲所匹配的所有內容設置val爲空字符串。如果頁面上有多個表單,則可能需要將其範圍縮小到特定的表單,即。

$("#someform input['type=text']").val(""); 

對於#2,如果每個這些字段需要設置爲不同的東西,您可能需要分別訪問每個字段。但是如果有些是相同的,你可以用同樣的技術同時設置它們中的一些。例如使用一個類。

$(".min-oc").val(data.somevalue); 

在這個實例中設置每個元素的類爲「min-oc」。

+0

不錯的答案,+1 –