2011-12-09 6 views
9

Я полный новичок - извините!Передача параметров функции jquery с помощью кнопки

я должен быть в состоянии изменить цвет текста с помощью трех кнопок (красный, синий и черный)

функция у меня есть, что прекрасно работает следующим образом:

function btn_click() { 
$("#col1 p").css("color", "#00f"); 
    } 

мне нужно передать две переменные эту функцию, конкретный тег (например, col1 р) и шестнадцатеричное значение из вызова следующей функции:

<input type="image" value="" class="but-blue" onclick="btn_click();" /> 

Может кто-нибудь помочь? Спасибо заранее. Стив

ответ

11

Изменить сценарий:

function btn_click(selector, color) { 
    $(selector).css("color", color); 
} 

И встроенный обработчик:

<input type="image" value="" class="but-blue" onclick="btn_click('#col1 p','#00F');" /> 

обновление

Но с JQuery вы можете сделать следующее:

<input type="image" value="" class="but-blue" data-selector="#col1 p" data-color="#00F" /> 

и JQuery сам скрипт:

$(document).ready(function(){ 
    $('input[type=image]').click(function() { 
     var selector = $(this).data('selector'); 
     var color = $(this).data('color'); 

     $(selector).css("color", color); 
    }); 
}); 
+2

Поскольку мы используем jquery, мы должны связывать обработчик кликов в DOM вместо использования атрибута onclick. – Thilo

+0

Спасибо, я добавил образец с jQuery. – Samich

+1

Хорошее обновление, заработало ваш +1 сейчас :-) – Thilo

2

что-то вроде этого? :

function btn_click(selector, color) { 
    $(selector).css("color", color); 
} 

и функция OnClick будет:

<input type="image" value="" class="but-blue" onclick="btn_click('#col1 p','#00f');" /> 
0

Простой, как это

function btn_click(selector, color) { 
    $(this).css(selector, color); 
} 

<input type="image" value="" class="but-blue" onclick="btn_click('color','#00f');" /> 
0
$("#redColorBtn").click(function(){ 
    $("#urTextFiled").css("color", "#f00"); 
}); 

$("#greenColorBtn").click(function(){ 
    $("#urTextFiled").css("color", "#0f0"); 
}); 

$("#blueColorBtn").click(function(){ 
    $("#urTextFiled").css("color", "#00f"); 
}); 

# в JQuery используется, чтобы поймать элемент на основе id, поэтому все # связанные вещи должны быть b e идентификатор элементов.

3

Если вы хотите пойти полный JQuery, выполните следующие действия

function btn_click(selector, color) { 
    $(selector).css("color", color); 
} 

$("input").bind("click", function(event) { 
    btn_click($(this).attr("goal-selector"), $(this).attr("goal-color")); 
}); 

, а затем в вашем HTML

<input type="image" value="" class="but-blue" goal-selector="#col1 p" goal-color="#00f" /> 

Удачи :)

2

ли это не лучше:

<input type="button" value="#00F" class="button-color" /> 
<input type="button" value="#0FF" class="button-color" /> 
<input type="button" value="#FFF" class="button-color" /> 
<div id="you_need_to_change"></div> 
<script type="text/javascript"> 
$('.button-color').click(function(){$('#you_need_to_change").css("color", $(this).val())}); 
</script> 
Смежные вопросы