3

Jquery を使用して公開されたフィルター検索フォームを変更するために Jquery を使用しようとしている Drupal 7 サイトがあります。一部の入力フィールドでは機能しますが、必要なフィールドでは機能しません。以下のコードを使用すると、test-input-onetest-input-twoは正常に機能しますが、Drupal によって生成された入力フィールドedit-field-s-city-valueは機能しません。Jquery コードはドロップダウン リストを作成し、ユーザーが何かを選択したときに他の入力ボックスを更新することになっています。

私は drupal_add_js('misc/jscodefile.js'); を使用しています。..views.tpl.php ファイルに Jquery コードを含めます。

マテリアルJquery コード (// コメントを追加しました)

$(document).ready(function($) {     
                ...           
                select: function( event, ui ) {
                log( ui.item ?
                    "Selected: " + ui.item.label :
                    "Nothing selected, input was " + this.value);
                $("#test-input-one").val(ui.item.mcity);  // this works!
                $("#test-input-two").val(ui.item.mstate); // this works!            
                $("#edit-field-s-city-value").val(ui.item.mcity);  // this does not work!!
                 ...
                });

PHP で drupal によって生成された HTML は次のとおりです。

              <div id="edit-field-s-city-value-wrapper" class="views-exposed-widget views-widget-filter-field_s_city_value">
                  <label for="edit-field-s-city-value">
            City          </label>
                        <div class="views-widget">
          <div class="form-item form-type-textfield form-item-field-s-city-value">
 <input type="text" id="**edit-field-s-city-value**" name="field_s_city_value" value="" size="20" maxlength="30" class="form-text" />
</div>
        </div>
              </div>
          <div id="edit-field-s-zip-value-wrapper" class="views-exposed-widget views-widget-filter-field_s_zip_value">
                  <label for="edit-field-s-zip-value">
            Zip (field_s_zip)          </label>
                        <div class="views-widget">
          <div class="form-item form-type-textfield form-item-field-s-zip-value">
 <input type="text" id="edit-field-s-zip-value" name="field_s_zip_value" value="" size="10" maxlength="10" class="form-text" />
</div>
        </div>
              </div>
                    <div class="views-exposed-widget views-submit-button">
      <input type="submit" id="edit-submit-test-view" name="" value="Apply" class="form-submit" />    </div>
      </div>

  <input type="text" id="test-input-one" name="one_value" value="" size="18" maxlength="40" class="form-text">
  <input type="text" id="test-input-two" name="two_value" value="" size="6" maxlength="10" class="form-text">

ネストされた div や css タグなどで何かおかしなことを考えているのですが、途方に暮れています。ありがとう。

4

1 に答える 1

1

これがうまくいかないと想像できる唯一の方法は、ID「edit-field-s-city-value」が一意でない場合です。

于 2012-11-14T19:26:56.013 に答える