4

私はこれにしばらく取り組んできましたが、私のコードの何が問題になっているのかわかりません。私はそれが何か単純なものだと確信しています-それは常にそうです!

基本的に、私はいくつかのオプションを備えたドロップダウンメニューを持っています。3番目のオプションである配管工が選択されたときにWebページに移動したいと思います。他のいずれかがクリックされても、何も起こりません。

これまでの私のコードは次のとおりです。

<select id = 'search'>
<option value="1">Carpenter</option>
<option value="2">Electrician</option>
<option value="3">Plumber</option>
<option value="4">Tiler</option>
<option value="5">Boiler Installation</option>

</select>

行け

そして私のJavaScriptは次のとおりです。

<script>
function go_button {
if (search.value=="3") {
location="search_results.htm"
}
}

</script>​​​​​​​

しかし、それは機能していません。誰かが私に何が悪いのか教えてもらえますか?

ありがとう。

C。

4

4 に答える 4

4

スクリプトを介してコントロールに変更イベントを配置するか、コントロールに直接追加することができます。

直接法:

<select id="search" onChange="OnSelectedIndexChange()">

これは、スクリプトに配置する必要のある関数です。

//function for changed selection
function OnSelectedIndexChange()
{
if (document.getElementById('search').value == "3"){
    location.href="search_results.htm";
}
}

スクリプト(JavaScriptまたはJQueryのいずれか)を使用して変更イベントを追加します。

そうするためにJQueryをお勧めします(onSelectedIndexChange関数はここでは廃止されています)

$('#search').change( function() {

if(this.val() == "3"){
location.href="search_results.htm";
}

});

JQueryを使用したくない場合は、次のコードを追加するだけです。

    var yourdropdown = document.getElementById('search');
    yourdropdown.Attributes.Add("onChange", "return OnSelectedIndexChange();")
于 2012-12-18T11:45:44.097 に答える
0

興味のある要素をjavascriptに伝える必要があります。

要素を返すために使用getElementById("search")すると、その値の取得を調べることができます。

于 2012-12-18T11:38:27.717 に答える
0
<select id="search">

たくさんのスペースがあると思います。

getElementById("search").value

私はしばらくこれを使用していませんが、そうではありません...

location.href = "search_results.htm";

このように、オブジェクトにアクセスできます。最後になりましたが、関数「go_button」をドロップダウンボックスのイベントに関連付ける必要があります。次のようになります。

<select id="search" onClick="go_button();">
于 2012-12-18T11:44:30.390 に答える
0

可能であれば、jQueryまたは他のjsフレームワークを使用すると思います。どちらにも、selectおよび他のhtml/domプラグインとメソッドが組み込まれています。

于 2012-12-18T11:54:29.390 に答える