2012-09-07 32 views
0

我試着這樣做:jQuery的()引用異常

當我通過我的UI添加學生,使用AJAX行應該得到追加到學生

的現有列表(表)所以我的UI的領域我發送到我的控制器,完成數據庫條目,從我的控制器我傳遞一個Json對象包含我想要顯示給我的視圖(這是所有工作完美)的所有領域。

在我看來,我沒有

success : function(result){ 
res = eval('('+result+')'); 
//Here the problem, begins , appending a row to the existing table: 
$('#my_table tr:last').after('<tr> 
<td>'+res.name+'</td> 
<td>'+res.address+'</td> 
<td><a href="javascript:void(0)">'+ res.flag== true ? "Male" : "Female" +'</a></td> // this is where im stuck ! 
</tr>') 
} 

的輸出,它老老實實地檢查,即如果標誌== true時打印的男性的標誌值,但它不是顯示一個鏈接,性別是唯一這顯示,沒有姓名和地址

如果我刪除

<td><a href="javascript:void(0)">'+ res.flag== true ? "Male" : "Female" +'</a></td> 

它輸出名稱線路和正確解決,如果我添加行檢查性別它只打印性別,它不是錨點標記,就像它不是一個鏈接

我在做什麼錯?

回答

2

嘗試使用此

<a href="javascript:void(0)">'+ (res.flag== true ? "Male" : "Female") +'</a> 

只是一個括號的差異,但也可能會做的事情

+0

沒有必要在有條件的運營商使用'真'。 – undefined

+0

這將起作用。如果你省略括號,你基本上會做' ...'+ res.flag == true',它總是會計算爲真(JavaScript中的非空字符串爲true)。 –

+0

但res.flag即時假設是布爾 –