0

こんにちは、私は JqueryUI の単純なスライダーを作成しました。特定の値の範囲で画像 URL を作成し、src 属性を変更しようとしています。

変更しようとしている画像が 4 つあります。

ここで jsFiddle を確認してください。

コードは問題ないと思いますが、機能していません。理由がわかりません。

4

6 に答える 6

2

これを置き換えます:

$("#" + postRetrmntImage).attr('src', ImageName );

これに:

$("#postRetrmntImage").attr('src', ImageName );

postRetrmntImage問題は、変数が割り当てられていないことです。

更新された jsFiddleデモを参照してください

于 2012-06-22T12:28:49.453 に答える
2

これをしようとしている:

 $("#" + postRetrmntImage.toString()).attr('src', ImageName );
于 2012-06-22T12:31:06.727 に答える
2

デモ http://jsfiddle.net/8Sw5J/

説明:これを使用してください:$("#" + sliderId).prop('src', ImageName );あなたの関数ではIDを次のように渡しているのでsliderId.

.propまた、ここでよく読むことをお勧めする場合: .prop() vs .attr()

残りのデモでは、それがどのように機能するかを確認できます。

お役に立てれば:)

完全なコード

 $(document).ready(function () {
            makeSingleSliderWithImage('postRetrmntMnthlyPaymt', 0, 10000, 0, 500);
        }
        );
        function makeSingleSliderWithImage(sliderId, minimum, maximum, val, steps) {

            //Display label shud have a X appended
            $('#' + sliderId).slider(
                {
                    //range: 'min',
                    min: minimum,
                    max: maximum,
                    step: steps,
                    //starting values for silders
                    value: val,
                    slide: function (event, ui) {
                        //var ImageURL = "Images/";
                        //var ImageName = "";
                        //var ext = ".jpg";

                        if ((ui.value >= 0) && (ui.value <= 2000))//Basic: 0-2000
                            ImageName = "http://www.iconempire.com/icon-processor/icon40.gif";
                        else if ((ui.value >= 2500) && (ui.value <= 4500))//Moderate: 2500-4500
                            ImageName = "http://aux.iconpedia.net/uploads/14234829766434728.png";
                        else if ((ui.value >= 5000) && (ui.value <= 7000))//Comfortable: 5000-7000
                            ImageName = "http://www.iconempire.com/icon-processor/icon40.gif";
                        else if ((ui.value >= 7500) && (ui.value <= 10000))//Luxury:7500-10,000
                            ImageName = "Luxury";
                        //var fullURL = ImageURL + ImageName + ext;
                        //change Image URL
                        $("#" + sliderId).prop('src', ImageName ); //{ src: fullURL });

                        alert($("#" + sliderId).prop('src'));
                        //change Slider Value
                        $("#" + sliderId + "X").text(ui.value);
                    }
                }
            );
        }​
于 2012-06-22T12:31:23.150 に答える
1

see why propの代わりにpostRetrmntImage使用する値を割り当てるpropattr

var postRetrmntImage="postRetrmntImage";
$("#" + postRetrmntImage).prop('src', ImageName );
于 2012-06-22T12:45:36.100 に答える
1

行を変更...

$("#" + postRetrmntImage).attr('src', ImageName );

に...

$("#postRetrmntImage").attr('src', ImageName );
于 2012-06-22T12:29:00.693 に答える
0

これを試して

$("#postRetrmntImage").attr('src', 'newimage.png');
于 2012-06-22T13:01:51.307 に答える