[英]jquery adding attributes to multiple select drop-downs
我有代碼(在Brad Christie的建議之后編輯):
drupal_add_js('
jQuery(document).ready(function(){
jQuery("#selFinishes option").each(function(index) {
if (jQuery(this).val() == ' . $filter_color . ') {
jQuery(this).attr("selected","selected")
}
})
});
', "inline");
它成功地將“selected”屬性(通過PHP添加$ filter_color)添加到所選值。 但是當我定位多個選擇字段時,如下所示:
drupal_add_js('
jQuery(document).ready(function(){
jQuery("#selFinishes option").each(function(index) {
if (jQuery(this).val() == ' . $filter_color . ') {
jQuery(this).attr("selected","selected")
}
})
jQuery("#selThemes option").each(function(index) {
if (jQuery(this).val() == ' . $filter_theme . ') {
jQuery(this).attr("selected","selected")
}
})
});
', "inline");
兩個循環都無法正常工作!
謝謝你的提示!
上面的代碼顯然混合了javascript和php,但不可能告訴它可能有什么問題。 您應該檢查(通過在瀏覽器中查看源代碼)生成的javascript代碼是否符合您的意圖。 如果可能,請在此處發布結果javascript。
我有根據的猜測是,生成的JavaScript在輸出時無效。 通過變量名稱( $filter_color
和$filter_theme
)進行猜測它們中的一個(或兩個)很可能是一個字符串, if (...val() == string)
失敗,那么這個if (...val() == string)
生成整個塊JavaScript會導致語法錯誤並完全失敗。
嘗試更改輸出以將值包含在字符串中(可能類似於以下內容):
[snip].val() == "' . $filter_theme . '") {[/snip]
注意我在PHP連接之前和之后在變量的兩側添加了雙引號。 這應該修復語法應該實習使它再次工作。
同樣,你的問題中的信息太少,但這是我對解決方案的猜測
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.