2014-06-17 37 views
0

所以我有一個下拉列表如下:如何改變的值時,我的onclick

<select name="store-cost" class="target"> 
    <option value = '100'>100</option> 
    <option value = '500'>500</option> 
    <option value = '1500'>1500</option> 
</select> 

和jQuery,看看用戶選擇

$(".target").change(function() { 
    console.log($(this).val()); 
}); 

和我有一個按鈕,調用jquery函數:

<a href="#" onclick = donateNow(100)>Donate</a> 

如何根據用戶的選項更改函數donateNow中的值?

非常感謝

編輯,對不起,沒講清楚,我想改變,我想根據用戶選擇的選項

+0

@felix他並不想改變select元素的值..他想根據select元素的值更改'donateNow'函數的參數...! –

+5

你可以通過'$(「.target」).val()''donatenow()'獲得它' –

+0

@Rajaprabhu:啊......這也有道理。 –

回答

1

的快速和骯髒的改變功能donateNow()參數:

<a href="#" onclick="donateNow($('.target').val())">Donate</a> 

更好的做法:

<a href="#" onclick="donateNow()">Donate</a> 
<script type="text/javascript"> 
function donateNow() { 
    var amount = $('.target').val(); 
    //use amount 
} 
</script> 
+1

這是什麼..?腳本如何在腳本標籤之外工作? –

+0

@RajaprabhuAravindasamy爲什麼'donateNow(100)'完全可以工作?這正是要走的路! – Bergi

+2

@RajaprabhuAravindasamy:onclick值接受任意的JS。 –

1

Demo

試試這個,

更新:一種更好的方式。

您可以在函數定義中獲取值。

<a href="#" >Donate</a> 

$(".target").change(function() { 
    console.log($(this).val()); 
}); 

$("a:contains('Donate')").click(function(){ 
    donateNow($(".target").val()): 
}); 
function donateNow(selectedVal){ 
    console.log(selectedVal); 
} 
+1

如果要使用具有不同值的函數,是否更改每個函數定義? – Bergi

+0

更新了我的代碼。感謝您指出。 –

0

你可以試試下面:

<select name="store-cost" class="target"> 
    <option value = '100'>100</option> 
    <option value = '500'>500</option> 
    <option value = '1500'>1500</option> 
</select> 
<a href="#" onclick = "donateNow($('.target').val())">Donate</a> 

而在你的javascript:

function donateNow(currValue) 
{ 
    alert('you donated: '+ currValue); 
} 

在這裏你可以檢查它jsFiddle