我有一个Drupal 7站点,我试图使用Jquery使用Jquery修改公开的过滤器搜索表单。它适用于某些输入字段,但不适用于我想要的字段。使用下面的代码, test-input-one 和 test-input-two 工作正常,但Drupal生成了输入字段 edit-field-s-city-价值没有。 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!!
...
});
drupal用PHP生成的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标签或其他什么东西很有趣,但我很茫然。感谢。
答案 0 :(得分:1)
我能想象出错的唯一方法是当id“edit-field-s-city-value”不唯一时。