How do i consolidate jQuery repetitive code

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Vivekneo
    New Member
    • Sep 2010
    • 18

    How do i consolidate jQuery repetitive code

    Hi,
    I have a series of textbox wired up with jQuery Autocomplete feature, there are 12 textbox in total.

    is thr any way to avoid repetitive code,
    Any help, i will be very thankful.

    Code:
    $('#prod_rate_0').val("");
    			$('#vat_0').val("");
    			
    			$('#prod_rate_1').val("");
    			$('#vat_1').val("");
    			
    			$('#prod_rate_2').val("");
    			$('#vat_2').val("");
    			
    			$('#prod_rate_3').val("");
    			$('#vat_3').val("");
    			
    			$('#prod_rate_4').val("");
    			$('#vat_4').val("");
    			
    			$('#prod_rate_5').val("");
    			$('#vat_5').val("");
    			
    			$('#prod_rate_6').val("");
    			$('#vat_6').val("");
    			
    			$('#prod_rate_7').val("");
    			$('#vat_7').val("");
    			
    			$('#prod_rate_8').val("");
    			$('#vat_8').val("");
    			
    			$('#prod_rate_9').val("");
    			$('#vat_9').val("");
    			
    			$('#prod_rate_10').val("");
    			$('#vat_10').val("");
    			
    			$('#prod_rate_11').val("");
    			$('#vat_11').val("");
    			
    			$("#prod_code_0").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_0').val(ui.item.prod_rate);
    					$('#vat_0').val(ui.item.vat);
    				}
    			});
    
    			$("#prod_code_1").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_1').val(ui.item.prod_rate);
    					$('#vat_1').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_2").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_2').val(ui.item.prod_rate);
    					$('#vat_2').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_3").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_3').val(ui.item.prod_rate);
    					$('#vat_3').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_4").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_4').val(ui.item.prod_rate);
    					$('#vat_4').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_5").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_5').val(ui.item.prod_rate);
    					$('#vat_5').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_6").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_6').val(ui.item.prod_rate);
    					$('#vat_6').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_7").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_7').val(ui.item.prod_rate);
    					$('#vat_7').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_8").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_8').val(ui.item.prod_rate);
    					$('#vat_8').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_9").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_9').val(ui.item.prod_rate);
    					$('#vat_9').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_10").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_10').val(ui.item.prod_rate);
    					$('#vat_10').val(ui.item.vat);
    				}
    			});
    			
    			$("#prod_code_11").autocomplete({
    				source: "prod_rpc.php",
    				minLength: 2,
    				select: function(event, ui) {
    					$('#p_id').val(ui.item.p_id);
    					$('#prod_rate_11').val(ui.item.prod_rate);
    					$('#vat_11').val(ui.item.vat);
    				}
    			});
  • Rabbit
    Recognized Expert MVP
    • Jan 2007
    • 12517

    #2
    You could use a for loop.

    Comment

    • Samishii23
      New Member
      • Sep 2009
      • 246

      #3
      Best idea would be make an array of what you want then loop as mentioned above.

      However, you could try something cleaner and simpler: jQuery UI AutoComplete.

      Just make an array of what suggestions you want ( or dynamically create them ), then just:
      Code:
       $("#textBox").autocomplete({source: suggestionsArray});

      Comment

      Working...