1

アイデア:通常のJavascriptまたはjQueryを介してtype="hidden"で入力の値を設定しています。

問題:セレクターが正しく、競合する要素がないことは間違いありませんが、jQueryもdocument.getElementByIdも非表示の入力を検出しません。

コード:それはかなり複雑なPHPでいっぱいなので、私がそれを見るだけで混乱するので、私はそれの多くを実際に投稿することはできません。

これがjavascriptです:

$("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total);

注:セレクターには何の問題もありません。「入力」は、非表示を参照するために使用している別の要素です。

HTMLは次のとおりです。

<input type="hidden" name="s<?=$step_counter?>_budget_hidden" 
       id="s<?=$step_counter?>_budget_hidden" value="0" />

コードは文脈から外れていますが、構文エラーというよりもJavascriptの一般的な問題です。考え?

4

3 に答える 3

2

$("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total);非表示のIDの最初の下線の前に2文字を入力します。ただし、非表示のIDには文字が1つしかありません。

編集

質問<?= ?>の編集前に非表示になりました。

body onloadイベントの後にスクリプトを呼び出しますか?元:

$(document).ready(function(){
    $("#" + input.id.substr(0,2) + "_budget_hidden").bind("keyPressed",function(){
        $("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total);
     }
});
于 2010-07-07T17:38:58.947 に答える
1

参考: jQueryを使用して非表示の入力値を取得できますが、jQueryを使用して非表示の入力値を編集することもできます。

'substr'メソッドを使用して隠し値を取得する方法が問題を引き起こしていると思います。のように使用しているsubstr(0, 2)ので、変数$step_variableが1桁の数字であることを確認してください。そうでない場合、コードは正しい結果を返しません。

以下にサンプルコードをいくつか示します。一度確認してください。

これがjavascriptです:

    var input_id = $( "hidden_​​val")。attr( "id")。substr(1);
    $( "#" + input_id + "_budget_hidden")。val(budg_total);

HTMLは次のとおりです。

    input type = "hidden" class = "hidden_​​val" name = "s_budget_hidden" id = "s" value = "0" 

これはあなたを助けると思います。問題を解決するためにこのフローに従わない場合はお知らせください。

于 2010-07-07T18:05:46.447 に答える
0

input.id.substr(0,2)は、文字列の先頭から開始し、2文字を使用して、それを使用するように指示していると思います。

http://www.w3schools.com/jsref/jsref_substr.asp

Firebugを使用して、そのメソッド呼び出しの結果を確認してください。

于 2010-07-07T17:39:34.920 に答える