2014-10-15 3 views
-3

Я хочу иметь что-то вроде кнопки 10, и каждый раз, когда я должен нажимать, он должен вычитать 1. и, достигнув нуля, он должен исчезнуть. HTML кодНажмите, чтобы вычесть 1 в javascript

<table width="600" border="0" cellspacing="0" cellpadding="5"> 
    <tr> 
    <th scope="col"><input type="button" onclick="add()" id='mynum9' value="9" ></th> 
    <th scope="col"><input type="button" onclick="add()" id='mynum7' value="7" ></th> 
    <th scope="col"><input type="button" onclick="add()" id='mynum4' value="4" ></th> 
    <th scope="col"><input type="button" onclick="add()" id='mynum5' value="5" ></th> 
    <th scope="col"><input type="button" onclick="add()" id='mynum1' value="1" ></th> 
    </tr> 
    <tr> 
    <td><input type="button" onclick="add()" id='mynum3' value="3" ></td> 
    <td><input type="button" onclick="add()" id='mynum10' value="10" ></td> 
    <td><input type="button" onclick="add()" id='mynum8' value="8" ></td> 
    <td><input type="button" onclick="add()" id='mynum2' value="2" ></td> 
    <td><input type="button" onclick="add()" id='mynum6' value="6" ></td> 
    </tr> 
</table> 


function add() { 
    var numArray=["mynum1". "mynum2","mynum3". "mynum4","mynum5". "mynum6","mynum7". "mynum8","mynum9". "mynum10"] 
    for (var i = 0; i < numArray.length; i++); 
    var num = document.getElementById(numArray[i]).value; 
    if(num == '') num = 0; 
if(num==1){ 
     $(this).remove(); 
    } 
    document.getElementById(numArray[i]).value = parseInt(num ,10) - 1; 
    } 

Но ее не работает, что я делаю неправильно. Кроме того, если вы могли бы сказать мне, лучший Javascript практика сайт

+0

Можете ли вы определить, что «не работает» - с чем именно возникают проблемы? Это синтаксическая ошибка? Пожалуйста, будьте более конкретными в отношении того, с чем вам нужна помощь. – Lix

+1

Как бы то ни было, ваш пост просто выглядит так, будто вы говорите: «Исправьте мой код для меня». – Lix

+0

Ну, у вас есть цикл 'for', который ничего не делает:' for (...); ', точки вместо запятых в массиве и т. Д. Вы пытаетесь уменьшить все значения кнопки одним нажатием одной кнопки? Кроме того, JS находится в ''? –

ответ

1

попробовать это:

<table width="600" border="0" cellspacing="0" cellpadding="5"> 
    <tr> 
    <th scope="col"><input type="button" onclick="add()" id='mynum9' value="9" ></th> 
    <th scope="col"><input type="button" onclick="add()" id='mynum7' value="7" ></th> 
    <th scope="col"><input type="button" onclick="add()" id='mynum4' value="4" ></th> 
    <th scope="col"><input type="button" onclick="add()" id='mynum5' value="5" ></th> 
    <th scope="col"><input type="button" onclick="add()" id='mynum1' value="1" ></th> 
    </tr> 
    <tr> 
    <td><input type="button" onclick="add()" id='mynum3' value="3" ></td> 
    <td><input type="button" onclick="add()" id='mynum10' value="10" ></td> 
    <td><input type="button" onclick="add()" id='mynum8' value="8" ></td> 
    <td><input type="button" onclick="add()" id='mynum2' value="2" ></td> 
    <td><input type="button" onclick="add()" id='mynum6' value="6" ></td> 
    </tr> 
</table> 
<script> 
var numArray=["mynum1", "mynum2","mynum3", "mynum4","mynum5", "mynum6","mynum7", "mynum8","mynum9", "mynum10"]; 
function add() { 

    for (var i = 0; i < numArray.length; i++){ 
    var num = document.getElementById(numArray[i]).value; 

if(num == 1){ 
    document.getElementById(numArray[i]).remove(); 
    removeA(numArray, numArray[i]); 
    if(numArray.length > 0){ 
    document.getElementById(numArray[i]).value = parseInt(num ,10); 
    } 
    continue; 
    } 
document.getElementById(numArray[i]).value = parseInt(num ,10) - 1; 
    } 
} 

function removeA(arr) { 
    var what, a = arguments, L = a.length, ax; 
    while (L > 1 && arr.length) { 
     what = a[--L]; 
     while ((ax= arr.indexOf(what)) !== -1) { 
      arr.splice(ax, 1); 
     } 
    } 
    return arr; 
} 



</script> 

надеюсь, что это помогает.

+0

Большое спасибо Suchit –

+0

удовольствие bro ..... –

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