我有一个按钮,其值是根据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);
}
答案 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>