2013-06-30 31 views
0

這裏的基礎上選擇,下拉式選單,佔位事件:如何改變輸入文字的底色圖像與jQuery

$('#A').change(function() { 
    var k = $(this).val(); 
    if (k == 1) { 
     $("#B_input-text").attr("placeholder", "this").placeholder(); 
    }else if (k == 2) { 
     $("#B_input-text").attr("placeholder", "this too").placeholder(); 

這改變了基於一些#B選擇菜單上的佔位符。 我的問題是,我如何使這些變化backround-image

請注意,這不是一個div,而是一個輸入文本標籤。

+0

http://api.jquery.com/css/ – sabithpocker

回答

0

您必須使用css函數。

$("#B_input-text") 
.attr("placeholder", "this") 
.placeholder() 
.css('backgroundImage', 'url("path/to/image/here")'); 

$("#B_input-text") 
.attr("placeholder", "this too") 
.placeholder() 
.css('backgroundImage', 'url("path/to/image/here")'); 

你只需要傳遞一個對象,具有所需的CSS性的判定它吧。

var backgroundCss = { 
    'backgroundImage': 'url("path/to/image/here")', 
    'backgroundRepeat': 'no-repeat', 
    'backgroundPosition': '50% 50%', 
    }; 
$("#B_input-text").css(backgroundCss); 
+0

請您闡述的是用jQuery –

+0

好,做什麼,只是取出默認的底色,但不顯示一個新的,和另一事情是,如何控制大小和重複的事情? –

+0

看到我的更新! – 2013-07-01 06:36:11

0

入住這裏DEMO http://jsfiddle.net/yeyene/Kve8L/1/

創建新的背景CSS類,並使用jquery removeClassaddClass

您可以在類中的任何其他屬性添加。

$('#A').change(function() { 
    var k = $(this).val(); 
    if (k == 1) { 
     $("input#B_input-text") 
      .removeClass('old_bg').addClass('new_bg') 
      .attr("placeholder", "I am blue background image and other background properties").placeholder(); 

    } else if (k == 2) { 
     $("input#B_input-text") 
      .removeClass('new_bg').addClass('old_bg') 
      .attr("placeholder", "this too").placeholder(); 
    } 
}); 
+0

現在,這是一件好事,謝謝。 –

+0

歡迎您,如果它適合您,您可以接受答案:) – yeyene