0

我有一个输入文本字段,其中的值可以通过加号和减号按钮增加或减少。

我需要将此输入字段的值作为第三个参数传递给在另一个按钮中调用 onclick 的函数(页面中的所有元素同时加载)。

我如何使用 Javascript而不是 jQuery 来做到这一点?如果我只是传递函数的名称,我会得到它的主体。

JSFIDDLE

html:

<input type="button" onclick="updateQuantity('test','add')" value="+" />
<input type="button" onclick="updateQuantity('test','not')" value="-" />
<input type="button" onclick="getUpdatedQty()" value="just proof that I can get value of quantity" />
<input type="button" onclick="passData('test', 2, 2)" value="button passing the data" />

js:

function updateQuantity(ID, action){

var prodQty = document.getElementById(ID);
var maxQty = 3;

    if(action === 'add') { 
        prodQty.value++; 
        if(prodQty.value > maxQty) { prodQty.value = maxQty }

    } else { 
        prodQty.value--; 
        if(prodQty.value <= 0) { prodQty.value = 1 }
    } 
} 

function passData(p1, p2, p3) {
    alert('First: '+p1 + ', Second: ' + p2 +', Third: '+ p3);
}

function getUpdatedQty() {
    var prodQty = document.getElementById('test'); alert(prodQty.value);
}
4

1 回答 1

0

我找到了解决方案,也许其他人将来会需要这个:

html:

<input type="text" name="quantity" id="test" value="1" />
<input type="button" onclick="updateQuantity('test','add')" value="+" />
<input type="button" onclick="updateQuantity('test','not')" value="-" />
<input type="button" onclick="passData('test', 2, getUpdatedQty)" value="button passing the data" />

js:

function updateQuantity(ID, action){
var prodQty = document.getElementById(ID);
var maxQty = 3;

        if(action === 'add') { prodQty.value++; 
            if(prodQty.value > maxQty) { prodQty.value = maxQty }

         } else { prodQty.value--; 
                if(prodQty.value <= 0) { prodQty.value = 1 }
         } 
    } 

    function passData(p1, p2, p3) {

    alert('First: '+p1 + ', Second: ' + p2 +', Third: '+ p3());
    }

function getUpdatedQty() {
    var prodQty = document.getElementById('test'); return prodQty.value;
}

jsFiddle

于 2013-08-05T09:36:53.463 回答