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

时间:2018-07-31 19:35:05

标签: javascript php jquery

我有一个按钮,其值是根据php中的mysql查询设置的,如下所示:

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

按钮的文本是名称行,当前有效。

和我基本上已经准备好的功能,可以尝试抓住字符串并将其发送给load函数。加载功能只需要接收该mysql行json的文本

function Copythat(el.val) {
var jsontoload = $(el.val).html();
load(jsontoload);
 }

1 个答案:

答案 0 :(得分:0)

如果将this传递给函数,则会获得事件发生所在元素的上下文。一旦掌握了这些,就可以将其传递给jQuery,并可以使用.val()快捷方式获得“值”属性。

请注意,function Copythat(el.val) {必须像function Copythat(val) {一样-函数参数必须是独立变量,不能像对象属性那样编写。

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>