2012-01-19 12 views
1
function dowork() 
{ 
    $(".wrappedElement").removeClass("wrappedElement"); 
    $(".wrappedElementout").removeClass("wrappedElementout"); 
    var a=$("div#DepPart select option:selected").val(); 

    $("div#TestPart select option[value^=a]").addClass("wrappedElement"); 
    $("div#TestPart select option[value!=a]:not(div#TestPart select option[value^=a])").addClass("wrappedElementout"); 
} 

この関数では、var aは文字列形式で値を取得します。この値をjQueryセレクタの一部として使用すると、何らかの理由で機能しません。誰でもその解決策を提案できますか?このjのクエリで何かが間違っています

+1

「それは動作しませんが、」良いエラーの説明* *ことはありません。何が間違っているのか、どのようなエラーメッセージが出るのかなどを記述してください。 –

+0

申し訳ありませんpekkaですがjqueryと私は何のエラーもありませんでした – Vishwajeet

+0

@ user1023160 - エラーメッセージが表示されない場合は、 "私はエラーメッセージを受け取っていないが、私は_this_が起こり、代わりに_that_が起こったと思った。 – nnnnnn

答えて

2

問題は、あなたがどこでも変数aを参照していないということです、あなたは単に「」あなたの文字列内の文字を含めています。

$("div#TestPart select option[value^='" + a + "']").addClass("wrappedElement"); 
$("div#TestPart select option[value!='" + a + "']:not(div#TestPart select option[value^='" + a + "'])").addClass("wrappedElementout"); 

注意も角括弧属性とjQueryのセレクタが何かに等しいことを構文は何かがであることを期待:あなたは、セレクタとして使用している文字列と変数aから値を連結する必要があります引用符(私は上記に含まれています)。 aのあなたの例の値で

、「HMT」第1セレクタは、連結した後、次のように見えることになります:(。そして、他のラインについても同様)

"div#TestPart select option[value^='HMT']" 

1
function dowork() 
    { 
    $(".wrappedElement").removeClass("wrappedElement"); 
    $(".wrappedElementout").removeClass("wrappedElementout"); 
    var a=$("div#DepPart select option:selected").val(); 

    $("div#TestPart select option[value^=" + a + "]").addClass("wrappedElement"); 
    $("div#TestPart select option[value!=" + a + "]:not(div#TestPart select option[value^="+ a + "])").addClass("wrappedElementout"); 
    } 
+0

私はjqueryの により、ブラウザ内のテーブルから行を削除し、送信ボタンをクリックすると、サーバー側でこの変更は – Vishwajeet

+0

が反映され、それが依存javascriptやjqueryの に関するUから1つのより多くの質問をお願いしたいと思いますあなたの質問の答えとして、私は言う: "一般的にはい" –

0

ます」文字列リテラルの一部としてaを使用しています。つまり、変数aの値ではなく、文字 'a'として解釈されています。あなたは二重引用符の外にaを取る必要があり

$("div#TestPart select option[value^=" + a + "]").addClass("wrappedElement"); 
    $("div#TestPart select option[value!=" + a + "]:not(div#TestPart select option[value^=" + a + "])").addClass("wrappedElementout"); 
+0

私は、JavaScriptまたはjqueryに関してuからもう1つの質問をしたいと思います jqueryでブラウザのテーブルから行を削除すると 送信ボタンをクリックすると、サーバ側でこの変更が反映されます – Vishwajeet

+0

これを使用してどのプラットフォームを使用しているかなどの詳細情報を提供する必要があります。 –

+0

私はasp.net 2008で動作し、グリッドビューを持っています。ここにボタンフィールドがあり、このボタンをクリックするとグリッドビューからその行を削除したいのですが、サブミットをクリックすると、ブラウザに残っているものはデータベースに保存する – Vishwajeet

関連する問題