簡體   English   中英

jquery將屬性添加到多個選擇下拉列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM