2012-04-11 5 views
0

jQuery UIプラグインをドラッグしてオブジェクトをドロップしていますが、問題があります。 私のhtmlソースは、このようなものです:"jQuery Ui Draggable Helper"で関数呼び出しのパラメータを送信する方法は?

<html> 
<body> 
    <div id="firstDiv">some thing is here</div> 
</body> 
</html> 

は今、私はヘルパーを使用して、上記のdivをドラッグ可能にしたいです。私のコードはこれです:OK

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#firsstDiv").draggable({helper:anImage}); 
}); 
function anImage() { 
    return '<img src="~/myImage.png" alt="" />'; 
} 
</script> 

マイO_O、このコードは、同様の仕事ですが、私は画像のアドレスを設定したいが、私は、パラメータを持っている私の機能を変更すると、そのdoesntの仕事新しいコードは次のとおりです。

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#firsstDiv").draggable({helper:anImage($(this).text())}); 
}); 
function anImage(address) { 
    return '<img src="'+address+'" alt="" />'; 
} 
</script> 

ただし、動作しません。

ご協力ありがとうございます。

+0

は、あなたの関数がパラメータとしてアドレスに取るようにしたいですか?試したコードを投稿できますか?何がうまくいかない? –

+0

** ** – mhdrad

答えて

0

OK - ヘルパ関数にパラメータを渡すことはできません。私はそれが問題だと確信しています。

これを回避する方法は、セットアップ機能を作成し、そこからあなたanImage関数を呼び出すために、次のようになります。

$(function(){ 
    $("#firsstDiv").draggable({ 
     helper: setup 
    }); 
}); 

// function to setup draggable DOM elements 
function setup() { 
    anImage("~/myImage.png"); 
    // ... do other setup things here too 
} 

function anImage(imageAddress) { 
    return '<img src="'+imageAddress+'" alt="" />'; 
} 

あなたは、各ドラッグ可能要素の異なる画像アドレスでanImageを呼び出そうとしているコースの場合を除き、その場合は上記は機能しません。しかし、あなたが作成しているすべてのドラッグ可能な要素を設定するコードを含むことを意味していると確信しているので、これを行うにはヘルパー関数を使用すべきではありません。このことができます

希望、

ジェームズ

+0

ok、nice cheat;)。しかし、私は複数のdivを持っており、このアドレスは同じではありません。このような 'ヘルパーのように:anImage(** $(this))。テキスト()**)' – mhdrad

+0

これは私の最終的なコメントの意味です。セットアップ方法を使用して各ドラッグ可能なdivそれは、各divのすべてのジェネリックプロパティを設定するために使用する必要があります。あなたは、個々のdivを設定するために何か違うことをしたいでしょう。 –

関連する問題