使用 jquery 发送值

Send value with jquery

如何使用 jQuery 发送值?我试过这个:

<span onclick="doSomething()" value="3">Select this Shop</span>
<input class="my-shop" value="">
<script>

function doSomething(){

  var text = $( this ).val();

  $( ".my-shop" ).val( text );
}
</script>

我的代码不起作用,我不知道为什么。

►您在 span 上提供的 value 是一个属性。所以你必须使用 .attr().

来获取属性

工作演示

function doSomething(elem){
  var text = $(elem).attr('value');
  $( ".my-shop" ).val( text );
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span onclick="doSomething(this)" value="3">Select this Shop</span>
<input class="my-shop" value="">

您可以在不同的模式下尝试相同的功能。 DEMO

<span value="3">Select this Shop</span>
<input class="my-shop" value="">
$(document).ready(function() {
 $('span').click(function(e){
  $( ".my-shop" ).val($(this).attr('value'));
 })
});

如果您在同一页面中有很多 span 并且想要定位特定的 span 那么您可以为 jquery 选择器添加 class。

    <span  value="3" class="unique">Select this Shop</span>
   <input class="my-shop" value="">
    $(document).ready(function() {
     $('.unique').click(function(e){
      $( ".my-shop" ).val($(this).attr('value'));
     })
    });

在您的 doSomething() 函数中 this 指的是全局 window 对象。您可以通过将 console.log(this) 放入函数中来检查。

一种实现方法是使用 JQuery 选择器。

function doSomething(){
  var text = $('span').attr('value');
  $( ".my-shop" ).val( text );
}

您可以在 this link.

找到更多关于 JQuery 选择器的信息