2012-04-14 9 views
1

私はこのコードを(私の.mファイルで)バンドルされたjavascriptファイルに変数を渡すために使用しています。objective-CのJavascript変数を変更する

[animalDesciption stringByEvaluatingJavaScriptFromString:@"var myIDcounterVariable = '1'"]; 

私はこれを設定し、それがUIButtonを押してUILabelの値を変更するには素晴らしい作品:

-(IBAction)next:(id)sender { 
number++; 
[currentNumber setText:[NSString stringWithFormat:@"%d", number]]; 

} 

にはどうすればいい「ボタンは、私のようなJavaScript変数の値を変更することができますラベルと一緒にやってる?

私のつまずき言葉!私はプログラミングのこの種の非常に新しいです...

私は詳細を与える必要がある場合は教えてください。

+0

私が間違って何をやっていますなぜ私は下落したのですか?なぜ私は質問をしてはならないのか、それとももっと良い方法があるのか​​を聞いて喜んでいます。私はすべての午後、これを行う方法を理解しようとしており、このコメントを投稿するのが最後の手段です。 –

+0

私はあなたの正確な問題が何であるかは少し不明だと思います。あなたは上のコードのすべての部分を持っているようですが、私はそれらをまとめることで問題が何であるかを知ることができず、あなたが試したことを言っていませんでした。 –

+0

基本的には、「1」から「2」(または「3」または「4」)に手動で変更してアプリをビルドして実行することで、最初のコードブロックを取得できます。 –

答えて

0

<script type="text/javascript"> 
var max = 100; 

function goToNext() { 
    var hash = String(document.location.hash); 
    if (hash && hash.indexOf(/hl/)) { 
     var newh = Number(hash.replace("#hl","")); 
     (newh > max-1) ? newh = 0 : void(null); 
     document.location.hash = "#hl" + String(newh-1); 
    } else { 
     document.location.hash = "hl1";   
    } 
} 

</script> 

は、このように私のIBActionでこのJavaScript呼び出しを送信:

- (IBAction)next:(id)sender { 
    [animalDesciption stringByEvaluatingJavaScriptFromString:@"goToNext()"]; 
} 
0

これでいいですか?

私のUIWebViewにこのJavaScript関数を追加しました私がやってしまった
-(IBAction)next:(id)sender { 
    number++; 

    // You want Javascript like this to run: 
    //  myIDCounterVariable = '1' 
    // but with the current value of 'number' in it. 

    // Construct the string: 
    NSString* jsString = [NSString stringWithFormat:@"myIDCounterVariable = '%d'", number]; 

    // and run it 
    [animalDesciption stringByEvaluatingJavaScriptFromString:jsString]; 
} 
+0

これはまさに私が欲しいもののように見えますが、私のために何もしません!私は、javascript関数は、ページが読み込まれたときに変数が設定されている必要があり、変数が後で変更されたときに何もしないことが原因であると考えています。 –

+0

聞こえる音。おそらくあなたのJSには "scrollToAnchorWithIndex()"のような機能を持たせたいでしょう。次に、Obj-Cコードに "scrollToAnchorWithIndex(%d)"のようなJS文字列を作成させて評価します。 –

+0

はい、それは私がやったのと同じですが、私はちょうどJavaScriptでインクリメントしました。 2番目の考えでは、あなたの提案のようにObj-Cでインクリメントする方がクリーンかもしれません...私は先に進み、私の現在の設定を投稿します。 –

関連する問題