2011-08-30 2 views
1

私は入力があるフォームを持っています。 フォームを送信して元に戻すと、この入力はデフォルト値に戻ります。フォーム送信後に発生しません.ready Ajaxのラッピング、$(文書)に、Jqueryモバイルでフォーム送信後に選択入力を選択するにはどうすればよいですか?

$(document).ready(function(){ 
    $('#selectCountry').val('<?php echo $country ?>'); 
}); 

しかしjQueryの携帯電話で:

通常私はこれを行います。

このシンプルで迷惑な問題を解決する方法はありますか?

+0

あなたがいますAjax経由でフォームを提出しますか? –

+0

私は "通常"私のフォームを投稿しています

Korangar

答えて

0

は、ページのロード時に値をロードすることができればそれは良いだろう

を更新しました。

<select id="selectCountry"> 
<?php 
foreach ($countries as $country){ 
    echo '<option value="' . $country . '"'; 
    if($country == $selectedCountry){ 
     echo ' selected="selected"'; 
    } 
    echo '>' . $country . '</option>'; 
} 
?> 
</select> 

更新は再び

これはjQueryのモバイルのためにそれを行う方法です。

$('#selectCountry').live('pagecreate',function(){ 
     $(#'selectCountry').val('<?php echo $country; ?>'); 
    }); 

See this page.

前の提案 - あなたは.live()関数を使用することはできますか?

$( '#selectCountry')live(function(){ $(# 'selectCountry')。val( ''); });

+0

私はこれを試しましたが、全く発砲していません。 – Korangar

+0

私が読んだドキュメンテーションは、これがうまくいったはずであることを示しています。とにかく、ページの読み込みに値をロードすることができれば、それは良いでしょう。 – AndrewR

+0

私は人生のPHPの方法を使用して終了すると思います。 – Korangar

0

変更この:これに

$(document).ready(function(){ 
    $('#selectCountry').val('<?php echo $country ?>'); 
}); 

$(document).ready(function(){ 
    init() 
}); 

function init() { 
    $('#selectCountry').val('<?php echo $country ?>'); 
} 

次に、あなたのページの一番下にあなたが常に直接init()メソッドを呼び出すことができます。

<script type='text/javascipt'> 
init() 
</script> 
+0

フォームを送信すると、その関数が呼び出されません。私はjQueryモバイルがこれをどのように管理しているのか分かりません。 おそらく、私はフォームとフォームのアクションで同じページを使用しているからわかりません。 – Korangar

+0

あなたが知らないうちにAJAXを使用しているに違いありません。 AJAX呼び出しを見つけ、コールバック関数のinit()呼び出しをタックする必要があります。 –

+0

jqueryモバイルでこのような簡単な作業を行うのは難しいはずはありませんか? – Korangar

関連する問題