首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将javascript变量设置为具有不同文本的按钮的值

将javascript变量设置为具有不同文本的按钮的值
EN

Stack Overflow用户
提问于 2018-08-01 03:35:05
回答 1查看 92关注 0票数 -1

我有一个按钮,它的值是基于php中的mysql查询设置的,如下所示:

代码语言:javascript
复制
echo "<td><button class='jsontable' onclick='Copythat(this.value)' value='" . $row['json'] . "'> " . $row['name'] . "</button></td>";

该按钮的文本是name行,它当前有效。

还有一个函数,我基本上已经准备好了,它可以尝试获取字符串,并将其发送给load函数。load函数只需要接收mysql行json文本

代码语言:javascript
复制
function Copythat(el.val) {
var jsontoload = $(el.val).html();
load(jsontoload);
 }
EN

回答 1

Stack Overflow用户

发布于 2018-08-01 04:22:12

如果将this传递给函数,则会获得发生事件的元素的上下文。一旦你得到它,你就可以将它传递给jQuery,然后你可以使用.val()快捷方式方法来获得"value“属性。

请注意,函数需要简单地类似于function Copythat(val) { - function Copythat(el.val) {参数必须是独立变量,它们不能像对象属性那样编写。

代码语言:javascript
复制
function Copythat(input) {
  var attrValue = $(input).val();
  alert(attrValue);
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class='jsontable' onclick='Copythat(this)' value='Something'>A button</button>

您还可以将整个代码转换为jQuery,并丢弃内联事件处理程序:

代码语言:javascript
复制
$(function() {
  $(".jsontable").click(function(event) {
    var attrValue = $(this).val();
    alert(attrValue);    
  });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class='jsontable' value='Something'>A button</button>

或者还应该注意的是,对于像这样简单的东西,您实际上根本不需要jQuery:

代码语言:javascript
复制
function Copythat(input) {
  alert(input.value);
}
代码语言:javascript
复制
<button class='jsontable' onclick='Copythat(this)' value='Something'>A button</button>

如果您只需要将值放入函数中,另一个进一步的简化方法是:

代码语言:javascript
复制
function Copythat(input) {
  alert(input);
}
代码语言:javascript
复制
<button class='jsontable' onclick='Copythat(this.value)' value='Something'>A button</button>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51620818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档