非表示の入力の値を設定する時間があります。
オプションタグ間から隠しフィールドにHTMLを渡します。それを実行すると、wordpress 'wp_list_dropdowns()
のページタイトルが表示されます。テキストを正常に返すようにし、変更イベントでcssを正しく追加しました(非表示フィールドでは明らかに不要ですが、どこで問題が発生しているのかを判断しようとしていました)。非表示の入力をテキスト入力に変更すると機能します。私はSOでこれが可能であることを隠しました(隠された入力の値を変更する))を見ましたが、何かが今私を支えており、答えが見えません。
JSFiddle は次のとおりです。
JavaScript:
$(".selector").change(function() {
var $value = $(this).val();
var $title = $(this).children('option[value='+$value+']').html();
alert($title);
$('input#bacon').val($title).css('border','3px solid blue');
});
HTML:
<select class="selector" name="testselect">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</h3>
<input id="bacon" type="hidden" class="bacon" value="" name="testinput">
JQueryコードは完全に機能します。 非表示フィールドは更新中です 。
次のように簡単です:
$('#action').val("1");
#action
は非表示の入力フィールドIDです。
働くようです
$(".selector").change(function() {
var $value = $(this).val();
var $title = $(this).children('option[value='+$value+']').html();
$('#bacon').val($title);
});
Firebugで確認してください。また、非表示の入力にcssを配置しないでください。
これをDrupalで行い、Form APIを使用してhook_form_alterで#typeをテキストから 'hidden'に変更する場合(たとえば)、出力HTMLが異なる(または省略)DIVラッパー、ID、およびクラス名。