簡體   English   中英

未選擇下拉列表中的默認值

[英]Default Value in drop down list not being selected

我有一個下拉列表[事件,問題,問題,任務]。 當最終用戶登錄並有一個名為product的標簽時,我已經編寫了代碼,默認值應該是問題。 但是,它似乎不起作用。 它仍然為用戶提供從列表中選擇值的選項。

$j(document).ready(function() {  
if(location.pathname == '/requests/new') {
var ct = currentUser.tags;

 if(ct.indexOf("product") >= 0){
 $j(document.getElementById("ticket_fields_75389").value = "Problem"); 
  }
 else {
 $j(document.getElementById("ticket_fields_75389").value = "");
 } 

 }
 })

注意:此答案不正確。 我知道操作員閱讀了我的評論后,將其刪除。


它仍然為用戶提供從列表中選擇值的選項。

好吧,當然,設置value只會更改初始選擇的值。 如果要“固定” select元素的值,以使用戶無法更改它,則必須將其設置為只讀 讓我們堅持使用jQuery(您所擁有的是DOM API和jQuery 的怪異組合):

$j("#ticket_fields_75389").val("Problem").prop('readonly', true);

†:讓我們仔細看一下這條線

$j(document.getElementById("ticket_fields_75389").value = "Problem");

這里到底發生了什么? 顯然,我們有一個函數調用( $j(...) ),並將一些東西傳遞給它。 這種“東西”是表達的結果

document.getElementById("ticket_fields_75389").value = "Problem"

這將通過ID查找元素,並將字符串"Problem"分配給value屬性。 這是一個賦值表達式 賦值表達式的結果是賦值,即"Problem"

那就是傳遞給$j(...) ,所以我們有$j("Problem"); 由於$j引用jQuery ,這將搜索標記名稱 Problem所有元素,而HTML中不存在。 它還將返回一個jQuery對象,但您對此沒有做任何事情。

因此,即使沒有引發語法或運行時錯誤,在$j(...)的包裝也是完全沒有必要的,甚至是錯誤的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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