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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (40)

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

echo "<td><button class='jsontable' onclick='Copythat(this.value)' value='" . $row['json'] . "'> " . $row['name'] . "</button></td>";

还有一个函数,基本上已经准备好了,可以尝试抓取字符串并将其发送到Load函数,Load函数只需要接收MySQL行json的文本

function Copythat(el.val) {
var jsontoload = $(el.val).html();
load(jsontoload);
 }
提问于
用户回答回答于

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

function Copythat(input) {
  var attrValue = $(input).val();
  alert(attrValue);
}
<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并抛弃内联事件处理程序:

$(function() {
  $(".jsontable").click(function(event) {
    var attrValue = $(this).val();
    alert(attrValue);    
  });
});
<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:

function Copythat(input) {
  alert(input.value);
}
<button class='jsontable' onclick='Copythat(this)' value='Something'>A button</button>

如果只需要将值放入函数中,则可以进一步简化:

function Copythat(input) {
  alert(input);
}
<button class='jsontable' onclick='Copythat(this.value)' value='Something'>A button</button>

扫码关注云+社区

领取腾讯云代金券