2016-03-14 20 views
4

如何用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> 

我的代碼不工作,但我不知道爲什麼。 感謝您的幫助

+0

你想得到什麼?' – Ashan

+0

該屬性值對跨度無效,或者你想要做的用途不正確,因爲裏諾說你必須使用不同的屬性,但爲了你的目的,我會使用爲這種情況創建的data-name =「XX」,從技術上講屬性值對DOM驗證無效。恢復數據屬性的方式就像$(elem).data('name') – cralfaro

回答

1

►您在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="">

+0

Whaou YES工作正常!非常感謝你Rino Raj – Mike

1

你可以嘗試不同的模式相同的功能。 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,想要爲目標的jQuery選擇特定span那麼你可以添加類。

<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')); 
    }) 
    }); 
0

裏面你doSomething()功能this指的是全局的window對象。你可以在你的函數中加入console.log(this)來檢查。

實現此目的的一種方法是使用JQuery選擇器。

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

你可以找到更多關於jQuery選擇從this link

+0

你好,我有一個新的問題,我嘗試但我不怎麼做。我有一個循環展示多個精品店,但價值發送是所有人的第一個價值商店。請參閱jsfidle https://jsfiddle.net/zjo1y4vv/2/ – Mike

+0

對不起,js fidle https://jsfiddle.net/zjo1y4vv/4/ – Mike