首页 新闻 会员 周边

怎样根据点击不同的input获取当前id值,传入js函数中getElementById(!!!传到这里)实现数量加减,对一个id写两个函数太冗余了。

0
悬赏园豆:40 [已解决问题] 解决于 2019-11-05 15:18



Boogiever的主页 Boogiever | 初学一级 | 园豆:107
提问于:2019-11-05 13:26
< >
分享
最佳答案
2
function plus(id) {
  var num = parseInt(document.getElementById(id).value)
  ...
}

<input id="quantity1" type="text">
<input type="button" value="+" onclick="plus('quantity1')">

<input id="quantity2" type="text">
<input type="button" value="+" onclick="plus('quantity2')">
收获园豆:23
by.Genesis | 老鸟四级 |园豆:2719 | 2019-11-05 14:29

点击按钮没反应了,不过逻辑应该对的呀

Boogiever | 园豆:107 (初学一级) | 2019-11-05 14:49

@Boogiever: function plus(id) 去掉引号

by.Genesis | 园豆:2719 (老鸟四级) | 2019-11-05 14:50

@by.Genesis: 去掉了,不行我才又加上了试试

Boogiever | 园豆:107 (初学一级) | 2019-11-05 14:51

@Boogiever: 函数里面的也去掉

by.Genesis | 园豆:2719 (老鸟四级) | 2019-11-05 14:52

@by.Genesis: 也去掉了,实在是不知道哪里还有问题了,我又试了试this.id也不起作用

Boogiever | 园豆:107 (初学一级) | 2019-11-05 14:54

@Boogiever: 你发出来

by.Genesis | 园豆:2719 (老鸟四级) | 2019-11-05 14:54

@by.Genesis:


这是去掉引号的

Boogiever | 园豆:107 (初学一级) | 2019-11-05 14:59

@Boogiever: 你要仔细看我写的
var num = parseInt(document.getElementById(id).value) 这里不要引号

<input type="button" value="+" onclick="plus('quantity1')"> 这里要引号

by.Genesis | 园豆:2719 (老鸟四级) | 2019-11-05 15:00

@by.Genesis: 啊!不好意思!我懂了!感谢!!!

Boogiever | 园豆:107 (初学一级) | 2019-11-05 15:04
其他回答(4)
0

应该有两个不同的id吧
你是想实现什么效果?

收获园豆:2
你小子嚣张呀 | 园豆:630 (小虾三级) | 2019-11-05 13:36

就是我想实现加减数值,但是js方法里的getElementByID()括号里的内容写死了,我应该怎样实现点击一个<td>,就自动将这个td里的id值传入括号中,总不能把这个函数写四遍吧

支持(0) 反对(0) Boogiever | 园豆:107 (初学一级) | 2019-11-05 13:55
0

使用jquery,用class属性进行事件处理。
然后可多个元素公用同一事件。且结果可与点击元素进行绑定

收获园豆:5
Ctrl` | 园豆:3317 (老鸟四级) | 2019-11-05 13:46


可以具体讲一下吗,我目前是这样写的,不清楚问题出现在哪

支持(0) 反对(0) Boogiever | 园豆:107 (初学一级) | 2019-11-05 14:01
0

id 换成其他,如 class="abc"、 因为同一个页面不允许ID重复,这是标准!!!

function plus(event){
//1、获取当前被点击元素
var obj=event.srcElement; //event在ie中自带有,可以不用传入,其他少数浏览器需要传入

//获取点击元素的上一个元素,也就是你的输入框
var ps=obj.previousSbiling;

//获取输入框值
var num=ps.value;

开始写你的逻辑。。。。。这就不用写两遍ID了吧?
   }

收获园豆:5
一禅·小和尚 | 园豆:519 (小虾三级) | 2019-11-05 13:55

我的id值改成不一样的了,但是js函数那里getElementById()括号里的写死了,就是怎样把括号里面的替换成当前点击的input的ID

支持(0) 反对(0) Boogiever | 园豆:107 (初学一级) | 2019-11-05 14:04

@Boogiever: 不要用ID取值,用层级选择器。

支持(0) 反对(0) 一禅·小和尚 | 园豆:519 (小虾三级) | 2019-11-05 14:06

@一禅·小和尚: 可以再具体解释一下吗,没用过层级选择器,麻烦啦

支持(0) 反对(0) Boogiever | 园豆:107 (初学一级) | 2019-11-05 14:09
0

$(this).parent().siblings().eq(1).html(); //获取当前 按钮 兄弟节点第二个标签的 内容...

收获园豆:5
永远跟党走i | 园豆:1519 (小虾三级) | 2019-11-05 14:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册