DropDownList multiselect(リファレンス)に問題があります。
私が欲しいもの...
値を使用してドロップダウンからいくつかのチェックボックスをプログラムでクリックしたい(ポストバックの問題の場合)。
ブリーフィング
「リファレンス」で、jQueryにバグがあることがわかったので、これを行う必要がありました->
$("select").multiselect("widget").find(":checkbox").each(function(){
this.click();
});
それで、これを試して動作しました...次に、「[value ='value']」を追加すると、動作しました。それはまさに私が必要としていたものです。
$("select").multiselect("widget").find(":checkbox[value='value']").each(function(){
this.click();
});
これが私がしたことです:私はポストバックの前に選択された値(consultantValues)で配列を取得しました。次に、ドロップダウン「コンサルタント」のチェックボックスを配列の値で見つけて、最後にクリックします。
コード->
for (var x = 0; x < consultantValues.length; x++) {
var consultantSelected = ":checkbox[value='" + consultantValues[x] + "']";
var doConsultantStringCode = $("id$='ddlConsultant']").multiselect("widget").find(consultantSelected);
for (var a = 0; a < doConsultantStringCode.length; a++) {
doConsultantStringCode[a].click();
}
}
これは魅力のように機能します:Bちなみに、実行速度が速いため、「each」の代わりに「for」を使用します。
問題
他のドロップダウンでは、私は同じことをしようとします...それは機能しましたが、突然機能しなくなりました:/
コード->
for (var i = 0; i < selectedManagements.length; i++) {
var checkboxValue = ":checkbox[value='" + selectedManagements[i] + "']";
var findCheckbox = $("[id$='ddlManagement']").multiselect("widget").find(checkboxValue);
for (var k = 0; k < findCheckbox.length; k++) {
findCheckbox[k].click();
}
}
私はこれで立ち往生しています:/
注:
- 私が見ることができたのは、findCheckboxの長さが0です...以前は1だったのになぜ今は0の長さなのかわかりません...
- ドロップダウンはASPコントロールです。
- 追加情報が必要な場合は、お知らせください