2012-05-15 85 views
0

我有一個發佈操作,並且當它成功時,我調用一個方法並傳遞一個json結果。然後通過每個JSON對象i循環,在循環我想使用對象ID作爲值屬性的複選框,這是我如何做的:Jquery,獲得輸入值與變量

$.each(roles, function (index, role) { 
     var checkboxes = $('input[value="role.RoleId"][type="checkbox"]').attr("checked",true); 



    }); 

正如你所看到的,我有一個複選框列表和我想在他們的value屬性等於「role.RoleId」時選擇它們。但我無法做到這一點,我怎麼能做到這一點?

編輯:那麼如何選擇該複選框的包裝元素。在裏面 。所以我還需要選擇元素?

感謝

回答

1

你必須使用類似這樣的

var checkboxes = $('input[value="'+role.RoleId+'"][type="checkbox"]').attr("checked",true); 
值或role.RoleId

作爲角色是來自$ .each循環的對象。

+0

以及如何選擇該複選框的包裝元素。它在。所以我還需要選擇元素? – mehmetserif

+0

@mehmetserif如果您有其他需求,請編輯您的問題。 – Sampson

+0

@mehmetserif如果它完全不同於你在這裏提出的問題,那麼你應該將它作爲一個新問題發佈。 –

1

您應該使用.prop而不是.attr

.prop("checked",true); 

還需要追加role.RoleId ..見下文,

$.each(roles, function (index, role) { 
     var checkboxes = $('input:checkbox[value="' + role.RoleId + '"]').prop("checked",true); 
}); 

DEMO

+0

好吧,但是,「輸入[值=」role.RoleId「]」正確嗎?我的意思是role.RoleId是post操作的結果。 – mehmetserif

+0

@mehmetserif毫米讓我測試看看。但你需要使用'.prop'也可以使用'input:checkbox [..]'而不是'type =「複選框」' –

+0

@mehmetserif查看更新。 –

0
var checkboxes = $('input[value="'+role.RoleId+'"][type="checkbox"]').prop("checked",true); 

但是將ids設置爲複選框會使問題更加簡單。

0

可以使用:checkbox選擇縮短你的代碼了只是有點:

$(":checkbox[value=" + role.RoleId + "]").prop("checked", true); 

您想在這裏使用的級聯,這樣role.RoleId不是字面解釋,如純文本,而是我們要使用role.RoleId的值