2013-10-25 2 views
0

В моем веб-браузере у меня есть много кнопок для javascript для управления функцией щелчка. Каждый щелчок на кнопке имеет класс для инициации каждого из них. вот кодСоздание массива для функции click в javascript

<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".data1").click(function(){ 
     $("#line").val("1"); 
     $("#pkategori").val("-Kategori Produk-"); 
     $("#pname").val("-Nama Produk-"); 
     $("#pnumber").val(""); 
     $("#seri").val(""); 
     $("#quantity").val(""); 
     $("#ok").hide(); 
     $("#cancel").hide(); 
     $("#tnposisi").hide(); 
     $("#nposisi").hide(); 
     $("#tketp").hide(); 
     $("#ketp").hide(); 
     $("#tpjumlah").hide(); 
     $("#pjumlah").hide(); 
     $("#editsave").hide(); 
     $("#editcancel").hide(); 
     $("#input").hide(); 
     $("#loading").hide(); 
     $("#status").html(""); 
    }); 
}); 

для моей текущей сети, я сделать это один за другим до $(".data160").click(function(). это будет длинный код и неэффективен. Моя проблема, Как сделать этот простой код?

ответ

1

разделить его с несколькими функциями:

1, вал и HTML вместе

2, спрячьте вместе, вы можете создать функцию, как этот

function hideEl(el){ 
     $('#'+el).hide(); 

    } 
    var arrEls = ['pname','apple','msn'...]; 
    $(arrEls).each(function(key,value){ 
     hideEl(value); 
    }); 
1

Давать все кнопки и тот же класс , и использовать атрибуты данных для различных функций.

<button class="data" data-line="1" data-kategory="-Kategori Produk-" data-name="-Nama Produk-"> 

Затем написать:

$(".data").click(function(){ 
    $("#line").val($(this).data("line")); 
    $("#pkategori").val($(this).data("kategori")); 
    $("#pname").val($(this).data("name")); 
    $("#pnumber,#seri,#quantity").val(""); 
    $("#ok,#cancel,#tnposisi,#nposisi,#tketp,#ketp,#tpjumlah,#pjumlah,#editsave,#editcancel,#input,#loading").hide(); 
    $("#status").html(""); 
}); 

Чтобы справиться с ними все сразу.

Смежные вопросы